Depois de muita tentativa e erro, eu tropecei em uma solução alternativa. Por alguma razão, cron
está sendo morto (presumivelmente pelo host) se estiver sendo executado no modo daemon. Se lançado com cron -f
, o processo persistirá. Então, eu criei um script simples para lançá-lo em primeiro plano (e relançá-lo continuamente no caso improvável de ser morto):
#!/bin/bash -u
while [ 1 ]; do
logger -i -t cronrestart -p cron.warn "Launching cron daemon"
cron -f
logger -i -t cronrestart -p cron.warn "Cron daemon killed"
done
logger -i -t cronrestart -p cron.warn "Quitting"
Então eu inicio este script de inicialização via nohup cronrestart >/dev/null &
para que ele seja executado em segundo plano. Cron tem funcionado por uma semana até agora sem ser morto.
Suponho que o próximo passo seria tentar criar o script de inicialização inicie-se em segundo plano para simular melhor o modo daemon de cron
.