Я хочу создать задание cron, которое выполняет daiy в назначенное время и перезапускает сервер Ubuntu.
Я пытаюсь добавить reboot
только в cron, но он не работает, тогда как он работает, когда я пытаюсь выполнить его из CLI.
Посоветуйте, пожалуйста, какую команду мне добавить в cron, чтобы он ежедневно перезагружал сервер в определенное время.
Ответы:
Вам нужно выполнить следующую команду:
с корнями. Способ сделать это - использовать crontab пользователя root, а не пользовательский crontab. Перед
sudo
тем, как обычная команда crontab сделает это:Совет: Вы можете переключить стандартный редактор командного интерпретатора для таких вещей , как
crontab
иvisudo
с ,sudo update-alternatives --config editor
а затем выберите редактор по вашему выбору.Редактируя crontab, вы должны добавить следующую строку в ваш файл:
«@Daily» - это сокращение для каждого дня в полночь (эквивалентное «0 0 * * *»). Кстати - зачем вам ежедневная перезагрузка?
РЕДАКТИРОВАТЬ - см. Https://help.ubuntu.com/community/CronHowto для следующего: «Команды Crontab обычно хранятся в файле crontab, принадлежащем вашей учетной записи пользователя (и выполняются с уровнем разрешений вашего пользователя). Если вы хотите регулярно запускайте команду, требующую прав администратора, редактируйте корневой файл crontab: sudo crontab -e "
РЕДАКТИРОВАТЬ - спасибо @charlesbridge за его комментарий - отредактированный ответ, включающий полный путь
источник
/sbin/shutdown -r
/sbin/reboot
.