Обратите внимание, что помещать ваш текстовый пароль в текстовый файл не очень хорошая идея, поэтому лучше всего запускать это задание с правами root с самого начала. Обычно вместо того, чтобы редактировать crontab root с помощью crontab
команды, которая оставляет записи в /var/spool/cron/crontabs
несколько загадочном месте, я предпочитаю вводить их явно в /etc/cron.d
. Записи в cron.d запускаются как системные записи crontab, обрабатываются как файлы конфигурации, поэтому они должны выдерживать перезагрузки системы, обновления и обновления, и вы можете явно указать работающего пользователя:
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
Если вам не нужно определенное время, а просто хотите, чтобы система перезагружалась один раз в день, добавьте исполняемый файл или скрипт, /etc/cron.daily
и он будет автоматически запускаться в заданное время (системное время 6:25 по умолчанию):
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
Обратите внимание, что вместо того, чтобы просто перезагрузить систему без предупреждения, я устанавливаю 5-минутное предупреждение, поэтому, если кто-то вошел в систему, у него есть шанс сохранить свою работу или даже прервать выключение sudo shutdown -c
, вместо того, чтобы вытащить систему прочь из-под них. Вы можете настроить их соответствующим образом, если вы хотите дать более подробное предупреждение (например, используйте shutdown -h 60
и выполните команду в 2:00 AM, и вы будете предупреждать пользователей за 1 час).
Это основано на моем прошлом опыте; в какой - то момент вы будете войти в систему, работать , когда кронтаб работает ввод, и если он просто перезагружается без предупреждения вы будете очень грустная панда.
echo $PASSWD