Script shell Unix para alertas do servidor

0

Abaixo está meu script de shell que está escrito em outro x para encontrar a integridade do servidor y. (Eu não escrevi no servidor y porque não há funcionalidade de receber e-mails)

 #!/bin/bash
target=10.9.34.52
count=$( ping -c 5 $target | grep icmp* | wc -l )
if [ $count -eq 0 ]
then
 echo "The Tomcat Dev server GMP_Dev_Tomcat_cvgrhegmpd003 with ip address 10.9.34.52 is DOWN Please check your server ASAP" |  mail -s " Dev Tomcat Server Status" [email protected]
else
   echo "The Tomcat Dev server GMP_Dev_Tomcat_cvgrhegmpd003 with ip address 10.9.34.52 is UP and WORKING"

fi

Não estou recebendo nenhum alerta. Eu adicionei meu script shell a crontab -e , que é executado a cada 1 min. Mas se eu executar o script ./scriptname.sh , recebo emails (verifiquei quando meu servidor estava ativo).

    
por chandra prakash 31.10.2014 / 13:31

1 resposta

1

Se está falhando no cron onde ele funciona no shell, geralmente é um problema de ambiente, como o Joel mencionou.

No seu cron, tente registrar a saída do script adicionando >> /home/myuser/myscript.log ao final da linha do cron e, em seguida, leia o arquivo após a execução do cron.

Você pode encontrar muitas entradas como -bash: ping: command not found e, nesse caso, é necessário usar os caminhos absolutos em seu script (ou seja, /bin/ping em vez de ping ). Você pode usar which [command] para encontrar o caminho absoluto para um comando.

    
por 31.10.2014 / 15:50

Tags