У меня есть резервный скрипт, который выполняется ежедневно с помощью задания cron. Это копирование с FTP-серверов и подключенных жестких дисков USB, баз данных и т. Д.
В конце сценария я хочу перезагрузить компьютер с Linux, поэтому я добавил конец сценария:
reboot
Но если на следующий день набрать uptime, то обнаружится, что он не перезагрузился. Задание cron выполняется пользователем root, поэтому мне не нужно ставить sudo или su перед командой afaik. Поэтому вместо этого я попробовал другие варианты команды, такие как:
shutdown -t 10 -r
shutdown -r now
/sbin/shutdown -t 10 -r
/sbin/shutdown -r now
/sbin/reboot
Одна попытка за раз, конечно, не все вышеперечисленные 5 строк друг за другом. ПК просто не перезагружается.
У кого-нибудь есть идеи по этому поводу?
logger команды внутри вашего скрипта (для записи соответствующих сообщений в системный журнал), чтобы проверить, действительно ли он запущен. Может быть даже logger -t $0 reboot is $(which reboot)
echo $? после, если перезагрузка не работает. Разобрать скрипт, чтобы проверить, что он не заканчивается вручную перед вашей командой перезагрузки.