Como enviar um email usando o UPSTART se meu executável for reiniciado?

0

Estou usando o UPSTART para reiniciar meu executável se, por acaso, ele cair e funcionar bem.

start on runlevel [2345]
stop on runlevel [016]

chdir /opt/data/data_server
respawn

post-stop script
  sleep 30
end script

limit nofile 8092 8092
setuid david
exec ./data_server --file=../config/property.init --data_port=8080

Existe alguma maneira de adicionarmos outro recurso, que é enviar um e-mail (como meu programa foi desativado e reiniciado), se meu executável falhar e, em seguida, reiniciá-lo na mesma configuração do UPSTART? Não tenho certeza se há alguma maneira de fazer isso usando a mesma configuração do UPSTART.

Quero enviar um email de [email protected] para [email protected] com uma simples mensagem de que meu programa foi desativado neste momento e, assim que meu programa for reiniciado, quero enviar outro e-mail informando que meu programa foi reiniciado neste momento.

    
por david 10.02.2015 / 21:16

1 resposta

1

Você pode tentar algo assim:

start on runlevel [2345]
stop on runlevel [016]

chdir /opt/data/data_server
respawn

post-start script
    echo "Service Started at 'date +"%F %T"' on 'hostname'" | mail -s "Service Started" [email protected]
end script

post-stop script
  sleep 30
end script

limit nofile 8092 8092
setuid david
exec ./data_server --file=../config/property.init --data_port=8080

O comando hostname no echo imprimirá o nome do host do servidor, assim você poderá dizer no e-mail em qual servidor ele foi reiniciado.

    
por 10.02.2015 / 21:56