Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Desktop Novo
Por pinduvoz
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Comunidades

Comunidade Linux Home Participar da comunidade Linux Participar Fórum Linux Fórum Membros LinuxMembros RSS do fórum

<< Primeira | Anterior Próxima | Última >>

script shell para verificar servicços [RESOLVIDO]

[1] Enviado em 10/02/2012 - 08:13h script shell para verificar servicços [RESOLVIDO]
Linux user: Nuno
nmdmoreira

(usa Outra)


boas... estou à pouco tempo com linux e tenho uma questão para a qual gostaria de pedir ajuda.

fiz um script muito básico que arranca no /etc/rc.local [ubuntu]

o script é basicamente o seguinte:

#!/bin/sh

SERVICE="service1";


if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
echo "$SERVICE service running, ok " >> /var/mail/mail | date >> /var/mail/mail
else
echo "$SERVICE is not running!" >> /var/mail/mail | mail -s "$SERVICE em baixo" root | /sbin/shutdown -r now | date >> /var/mail/mail

fi
exit 0

basicamente verifica se o servico1 está a funcionar e caso não esteja faz um reboot à máquina

acontece que eu queria fazer o mesmo para mais serviços, p.ex

service1 -> ver se service1 está a funcionar e se não estiver faz reboot
service2 -> ver se service2 está a funcionar e se não estiver faz... (qq coisa) etc...
service3 -> ver se service3 está a funcionar e se não estiver arrancar o serviço manualmente...

alguém me pode dar umas dicas?

obrigado







 

  


[2] Enviado em 10/02/2012 - 10:15h Re: script shell para verificar servicços [RESOLVIDO]
Linux user: Raimundo Alves Portela
rai3mb

(usa Outra)


Primeiro, pq você não reinicia o serviço ao invés do servidor todo?


para vários serviços vc poderia usar:


#!/bin/sh

SERVICOS="service1 service2 service3";

for SERVICE in $SERVICOS
do
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
echo "$SERVICE service running, ok " >> /var/mail/mail | date >> /var/mail/mail
else
echo "$SERVICE is not running!" >> /var/mail/mail | mail -s "$SERVICE em baixo" root | /sbin/shutdown -r now | date >> /var/mail/mail

fi
done
exit 0



 

[3] Enviado em 10/02/2012 - 17:24h Re: script shell para verificar servicços [RESOLVIDO]
Linux user: Nuno
nmdmoreira

(usa Outra)


rai3mb escreveu:

Primeiro, pq você não reinicia o serviço ao invés do servidor todo?


para vários serviços vc poderia usar:


#!/bin/sh

SERVICOS="service1 service2 service3";

for SERVICE in $SERVICOS
do
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
echo "$SERVICE service running, ok " >> /var/mail/mail | date >> /var/mail/mail
else
echo "$SERVICE is not running!" >> /var/mail/mail | mail -s "$SERVICE em baixo" root | /sbin/shutdown -r now | date >> /var/mail/mail

fi
done
exit 0



Obrigado pela sua resposta...
na realidade estou tentando fazer por partes, pois como disse sou novo no linux.
depois de colocar este script a verificar os diversos serviços, vou evoluir para reiniciar o serviço em vez de reiniciar o servidor.
O meu problema, que terei de resolver, é saber qual a ordem correta pois eu sei que estes serviços (neste caso uma página web e uma base dados) estão relacionados e como tal terei de testar qual a ordem correta para serem reiniciados... se tiver umas dicas para me dar...
Obrigado

 

[4] Enviado em 10/02/2012 - 22:12h Re: script shell para verificar servicços [RESOLVIDO]
Linux user: Raimundo Alves Portela
rai3mb

(usa Outra)


Se reiniciar o servidor web primeiro os clientes ficam sem acesso à página momentaneamente
Depois quando vc tiver reiniciando o banco de dados os cliente terão acesso à página mas receberam erros ao executar atividades que precisam da base de dados..

Poderia fazer assim (exemplo):


#para o servidor web
/etc/init.d/apache2 stop
#reinicia a base de dados
/etc/init.d/postgresql restart
#agora inicia o banco de dados
/etc/init.d/apache2 start



Assim vc para o servidor web, os clientes ficam sem acesso momentâneo, mas quando tiverem acesso novamente já será completo.

Agora não é comum ter que ficar reiniciando serviços como esses diversas vezes, avalie o que gera isso e evite fazê-lo durante o horário em que os clientes precisam do serviço ativo.



 

  
<< Primeira | Anterior Próxima | Última >>
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.