Eu tenho um serviço chamado manager
, que às vezes se atualiza (de algum local de rede). Se algo de errado acontecer durante esta atualização, como um desligamento do sistema, eu quero substituir o executável inválido por um conhecido. Isso resultou em eu ter dois empregos Upstart.
O arquivo principal do trabalho:
exec /usr/local/bin/manager
start on startup
respawn
O arquivo de trabalho do watchdog:
start on stopping manager PROCESS="respawn"
script
WATCHED="manager"
EXE="/usr/local/bin/$WATCHED"
cp /usr/local/var/"$WATCHED".bk $EXE
chmod +x $EXE
start $WATCHED
end script
2 perguntas:
Essa é uma ótima abordagem ... pode ser melhorada?
Existe uma maneira de fazer tudo isso em apenas um arquivo de trabalho?
Tags upstart