El reinicio programado con crontab no se realizó. ¿Por qué podría ser esto?

El reinicio programado con crontab no se realizó. ¿Por qué podría ser esto?

Información

Tengo el siguiente crontab para el usuario root en Debian 10.

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

30 3 * * * shutdown -r now

Si ejecuto uptimey who -bobtengo los resultados de la última vez que reinicié manualmente (ayer alrededor de las 6 p.m.).

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

Creé el crontab ayer alrededor de las 7 p. m., por lo que definitivamente estaba implementado antes de la hora prevista.

Pregunta

¿Hay alguna razón por la que esto no haya funcionado? ¿Puedo depurar esto de alguna manera?

Respuesta1

Verifique el registro para ver si el trabajo cron se ejecutó a la hora especificada.

En Debian, cron está conectado /var/log/syslog, consulte, se informa algún error si se activó el trabajo cron.

Si lo hace, grep cron /var/log/syslog¿hay algo registrado en el momento en que se suponía que cron debía reiniciarse?

También verifique si el servicio cron se está ejecutando; si lo hace, systemctl status cron.servicedice que el servicio está activo y habilitado. El servicio cron debe estar ejecutándose para que se ejecuten las tareas cron.

También podría ser un problema porque cron no puede encontrar el comando de apagado, intente usarlo /usr/sbin/shutdown -r nowen cron.

Para Debian 12 y posteriores

Los archivos de registro tradicionaleshan sido reemplazados por systemd-journalden Debian 12, por lo que ya no podrás buscar /var/log/syslogusando la línea de herramientas . grepEsto también afecta a otras Distribuciones GNU/Linux. Pero puedes usar journalctlen su lugar y también filtrar los registros directamente allí:

journalctl -u cron

información relacionada