Зауважте, що введення пароля з чітким текстом у текстовий файл - це не дуже гарна ідея, тому краще, щоб ця робота запускалася як корінь з початку роботи. Зазвичай, замість того, щоб редагувати crontab кореня за допомогою 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
командою та запускайте її о 02:00, і ви дасте користувачеві щедре 1-годинне попередження).
Це ґрунтується на моєму минулому досвіді; в якийсь момент ви будете входити в систему, коли буде запущено запис crontab, і якщо він перезавантажиться без попередження, ви будете дуже сумною пандою.
echo $PASSWD