Как я могу запланировать ночную перезагрузку?

У меня возникают некоторые периодические проблемы с запуском определенного приложения, XBMC. Если я регулярно использую XBMC, у меня, кажется, нет никаких проблем, но если я оставлю его без присмотра более чем на 12 часов, мне нужно перезагрузиться, чтобы он снова заработал.

Я знаю, что запланированная перезагрузка - это ЭТО не ответ но пока я не разберусь с проблемой, мне нужно планировать перезагрузку каждое утро, чтобы моя жена могла использовать ее, если я в отъезде, и ее не выбросили в окно :)

Есть желающие?

Я бы использовал cron (уже должен быть установлен):

Редактировать crontab:

sudo crontab -e

В первый раз вам, возможно, придется выбрать предпочитаемый вами редактор (например, nano).

Вставьте строку, например

0 4   *   *   *    /sbin/shutdown -r +5

внизу. Объяснение:

m      h    dom        mon   dow       commandminute hour dayOfMonth Month dayOfWeek commandToRun

итак, линия

  0 4   *   *   *    /sbin/shutdown -r +5

будет перезагружать вашу систему каждый день в 4:05 утра. (4:00 утра + 5 минут)

Ctrl+X, Y, Enter должно вывести вас из crontab (если вы используете nano)

Примечание: возможно, вам придется запустить crontab -e как root, потому что для завершения работы требуется root. crontab -e открывает файл в /tmp вместо фактического crontab, чтобы он мог проверить ваш новый crontab на наличие ошибок. Если ошибок нет, то ваш фактический crontab будет обновлен.

Добавление этого к /etc/cron.daily/zz-reboot должно сработать:

#!/bin/shshutdown -r now

И sudo chmod a+x /etc/cron.daily/zz-reboot. Префикс "zz" заставит его запускаться последним из всех других скриптов в этом каталоге. Проверять /etc/crontab чтобы увидеть, в какое время суток это произойдет на самом деле:

grep daily /etc/crontab | awk '{print $2 ":" $1}'

Если это не сработает, то "обычная" запись cron тоже может работать через sudo crontab -e

MINUTE HOUR * * * shutdown -r now

И, наконец, если вы хотите просто выполнить одноразовую перезагрузку, вы можете использовать at:

echo "shutdown -r now" | sudo at 04:30

Я работаю с cronjobs около месяца на своей работе и планирую отключение питания и перезагрузку. Это очень просто. Я знаю, что об этом спрашивали около 5 лет назад, но если у кого-то все еще есть проблемы, вы можете использовать этот метод, и вы будете настроены.

откройте терминал (ctrl+T)

sudo nano /etc/crontab

прокрутите страницу до конца и введите приведенную ниже команду

00 6 * * * root reboot 

это значение настроено на перезагрузку в 6 утра каждый день, и нажмите enter

Если вы хотите запланировать отключение питания на 11 вечера каждый день, вы можете ввести

00 23 * * * root poweroff

Мне все еще нужно выяснить, как включить машину с помощью cronjob, когда она не работает. Я отредактирую этот ответ, как только разберусь с ним.

P.S. это мой первый ответ, размещенный в каких-либо формах; надеюсь, это кому-то поможет !! :D

Вы должны создать сценарий, используя указания, данные Kees Cook...

Вы можете просто скопировать и вставить приведенную ниже информацию в любой текстовый редактор и создать zz-reboot файл в предложенном каталоге.

После этого просто не забудьте щелкнуть правой кнопкой мыши по файлу и назначить ему разрешение на выполнение.Если вам захочется использовать терминал, просто:

sudo chmod +x /etc/cron.daily/zz-reboot

Чтобы лучше понять, что вы делаете, помните, что в /etc папку, в которой обычно находятся файлы конфигурации, и там вы можете найти cron.hourly, cron.daily и другие папки cron.Cron заботится о выполнении приложений и скриптов в определенное время.

Если вы хотите строго соблюдать время перезагрузки, просто введите цифру

sudo crontab -e

таким образом, вы можете редактировать crontab для пользователя root.

Если вам удобнее делать это графически, вы можете установить программу из Центра программного обеспечения gnome-schedule.Если вы хотите изменить gnome-schedule для пользователя root убедитесь, что вы запускаете его из терминала:

gksudo gnome-schedule

Получайте удовольствие, играя вокруг! :)

p.s.: отличный момент, sBlatt! Мне было интересно, есть ли какой-нибудь способ заставить cron.daily время выполнения вручную.

Считать

0 6 * * * sudo shutdown -r     

Это будет перезагрузка в 6 утра каждый день. Мне это нравится, потому что это позволяет с задержкой в 1 минуту завершить любые другие фоновые задания и предупреждает всех остальных о том, что завершение работы ожидается.