Enviando correio quando o serviço é parado

0

Como posso deixar o Ubuntu me enviar um email quando um determinado serviço parar?

Eu tenho o mail () em execução para que eu possa verificá-lo por um cronjob e envie um email quando um determinado serviço for interrompido. Como?

Por exemplo:

sudo service apache2 status
 * apache2 is not running

Usando um grep () na mensagem? Eu tenho que verificar isso a cada minuto. Não é uma boa ideia em relação ao desempenho do servidor, suponho?

Alguém tem sugestões?

    
por waanders 09.07.2017 / 20:32

1 resposta

0

  if ps ax | grep -v grep | grep apache2 > /dev/null
    then
        exit 0
    else
        echo "apache2 is not running!" | mail -s "Apache2 is down"
        sudo service apache2 start

    fi

e sobre a execução do script bash, ele depende de você com que frequência você quer verificá-lo, Eu acho que a cada 15 minutos será o suficiente para checar ou a cada hora.

que será o comando crontab se você quiser verificar a cada 15 minutos:

*/15 * * * * /tmp/checkservice.sh >/dev/null 2>&1

isso verificará o serviço a cada 15 minutos e, se o serviço não estiver em execução, ele enviará um e-mail, você também pode adicionar o código de início automático em outra parte se quiser que essa tarefa também seja automatizada.

    
por kunal 09.07.2017 / 21:34