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

50

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

Я знаю, что запланированная перезагрузка НЕ ответ , но пока я не смогу понять проблему, мне нужно запланировать перезагрузку каждое утро, чтобы моя жена могла ее использовать, если я уезжаю, t выкинуть окно:)

Любые участники?

    
задан Braiam 17.11.2010 в 22:04
источник

4 ответа

89

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

Изменить crontab:

sudo crontab -e

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

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

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

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

m      h    dom        mon   dow       command
minute 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.

    
ответ дан sBlatt 17.11.2010 в 22:21
источник
9

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

#!/bin/sh
shutdown -r now

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

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

Если это не сработает, тогда может работать и «регулярная» запись cron, через sudo crontab -e

MINUTE HOUR * * * shutdown -r now

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

echo "shutdown -r now" | sudo at 04:30
    
ответ дан Kees Cook 17.11.2010 в 22:15
1

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

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

sudo nano /etc/crontab

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

00 6 * * * root reboot 

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

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

00 23 * * * root poweroff

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

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

ответ дан techfashionista 01.08.2015 в 18:00
0

Вы должны создать сценарий, используя указания, данные 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 Software Center. Если вы хотите изменить gnome-schedule для пользователя root, убедитесь, что вы запустили его из терминала:

gksudo gnome-schedule

Веселитесь! :)

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

    
ответ дан Pitto 17.11.2010 в 22:25