У меня возникают некоторые периодические проблемы с запуском определенного приложения, 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:
Я работаю с 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 время выполнения вручную.
Это будет перезагрузка в 6 утра каждый день. Мне это нравится, потому что это позволяет с задержкой в 1 минуту завершить любые другие фоновые задания и предупреждает всех остальных о том, что завершение работы ожидается.