Информация
У меня есть следующий crontab для пользователя root в Debian 10.
root@debian:~# crontab -l
# crontab comments curtailed for serverfault
#
# m h dom mon dow command
30 3 * * * shutdown -r now
Если я запустил uptime
и who -b
, я получу результаты последнего раз я сделал ручную перезагрузку (вчера около 18:00).
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
Я создал crontab вчера около 19:00, так что он определенно был на месте до запланированного времени.
Вопрос
Есть ли причина, по которой это могло не сработать? Могу ли я отладить это каким-либо образом?
Проверьте журнал, чтобы узнать, выполняется ли задание cron в указанное время.
В Debian cron регистрируется в /var/log/syslog
, посмотрите, есть ли сообщение об ошибке, если задание cron было активировано.
Если вы сделаете grep cron /var/log/syslog
, будет ли что-нибудь зарегистрировано в то время, когда cron должен был выполнить перезагрузку?
Также проверьте, запущена ли служба cron, если вы делаете ]systemctl status cron.service
говорит, что служба активна и включена.
Служба Cron должна быть запущена для запуска заданий cron.
Это также может быть проблема с тем, что cron не может найти команду выключения, попробуйте использовать /usr/sbin/shutdown -r now
в cron