Usamos monit
para monitorar / gerenciar localmente vários processos em nossos servidores. Para gerenciar autossh
instâncias usando monit
, instale o pacote monit
e crie um arquivo de configuração /etc/monit/conf.d/autossh.conf
:
check process autossh1 pidfile "/tmp/autossh1.pid"
start program = "/bin/bash -c 'export AUTOSSH_PIDFILE=/tmp/autossh1.pid; autossh -f [email protected]'" as uid user1 and group group1
stop program = "/bin/bash -c 'kill 'cat /tmp/autossh1.pid''"
group autossh
Em seguida, reinicie o monit com sudo service monit restart
.
Se você quiser executar o processo como root, omite o as uid user1 and group group1
no final da linha start program =
.
monit
verificará periodicamente se o processo está sendo executado e irá reiniciá-lo, se necessário. Você pode exibir o status dos processos gerenciados por monit:
monit summary
Você também pode facilmente interromper / iniciar o processo executando
monit stop autossh1
monit start autossh1
Você pode até criar grupos (como ilustrado pela linha group autossh
) e depois parar / iniciar grupos inteiros:
monit stop -g autossh
monit start -g autossh
A propósito, a ferramenta de linha de comando monit
usa HTTP para se comunicar com o daemon. Para fazer o trabalho de comunicação, você precisa incluir o seguinte em /etc/monit/monitrc
:
set httpd port 2812 and
use address localhost # only accept connection from localhost
allow localhost # allow localhost to connect to the server
Espero que ajude.