A reinicialização agendada com o crontab não foi adiante. Por que isso pode acontecer?

A reinicialização agendada com o crontab não foi adiante. Por que isso pode acontecer?

Informação

Eu tenho o seguinte crontab para o usuário root no Debian 10.

root@debian:~# crontab -l
# crontab comments curtailed for serverfault
#
# m h  dom mon dow   command

30 3 * * * shutdown -r now

Se eu executar uptimee who -bobtiver os resultados da última vez que fiz uma reinicialização manual (ontem por volta das 18h).

root@debian:~# uptime
 11:03:19 up 16:29,  1 user,  load average: 0.00, 0.01, 0.00
root@debian:~# who -b
         system boot  2020-12-26 18:34

Criei o crontab por volta das 19h de ontem, então ele estava definitivamente instalado antes do horário previsto.

Pergunta

Existe uma razão pela qual isso pode não ter funcionado? Posso depurar isso de alguma forma?

Responder1

Verifique o log para ver se o cron job foi executado no horário especificado.

No Debian o cron está logado /var/log/syslog, veja se há algum erro relatado se o cron job foi ativado.

Se você fizer isso, grep cron /var/log/sysloghá algo registrado no momento em que o cron deveria reiniciar?

Verifique também se o serviço cron está em execução; se você fizer systemctl status cron.serviceisso, o serviço está ativo e habilitado. O serviço Cron precisa estar em execução para que os cron jobs sejam executados.

Também pode ser um problema com o cron não conseguir encontrar o comando shutdown, tente usar /usr/sbin/shutdown -r nowno cron.

Para Debian 12 e mais recente

Os arquivos de log tradicionaisforam substituídos por systemd-journaldno Debian 12, então você não pode mais pesquisar /var/log/syslogusando a linha de ferramentas . grepIsso também afeta outras distribuições GNU/Linux. Mas você pode usar journalctle também filtrar os logs diretamente lá:

journalctl -u cron

informação relacionada