Script auto watchdog

2

Alguém escreveu um script de auto-vigilância e pode compartilhar a maneira como foi resolvido? Eu tenho DD-WRT em um dos roteadores e posso fazer apenas um script de inicialização. O problema não é executado. Se eu fizer logon pelo telnet e iniciá-lo manualmente, ele funciona muito bem. Portanto, preciso adicionar uma regra do cron para executá-la, mas não executar mais de uma vez. Eu estava pensando em usar:

if ['ps | grep [c]ustom.sh' -gt 1]; then
    exit;
else
    ...
fi

Você conhece alguma outra maneira de fazer isso?

    
por Alakdae 23.04.2012 / 04:36

1 resposta

5

Você pode usar um bloqueio que permanece na memória (geralmente / tmp é uma montagem tmpfs) que será removida na inicialização:

[ ! -f /tmp/rc.local.lock ]&&touch /tmp/rc.local.lock||exit

Acho que o problema é que você não tem o mesmo ambiente disponível em seu script em comparação com o shell ssh (por exemplo, PATH ...). Você deve gravar a saída do script em um arquivo de log. Basta adicionar esta linha no início do script.

exec >/tmp/rc.local.log 2>&1
    
por 23.04.2012 / 05:08