Запланированная перезагрузка Linux

Обновлено: 03.07.2024

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

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

5 ответов 5

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

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

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

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

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

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

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

Спасибо за информацию. Единственное, что мне нужно было сделать, это изменить команду на /sbin/shutdown, чтобы заставить ее работать на меня.

Это не сработало для меня. использование как crontab -e, так и sudo crontab -e сохраняет файл во временном расположении при выходе (например, /tmp/crontab.Y88XQl/crontab), и задача не запускается. я был вынужден редактировать /etc/crontab напрямую

Возможно, это кому-то поможет: мне пришлось использовать команду sudo перед перезагрузкой в ​​файле, открытом с помощью sudo crontab -e в Linux Mint (но я не уверен, что в данном случае это имеет значение).

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

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

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

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

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

Не совсем так: он будет перезагружаться один раз в день в любое время, когда запущен cron.daily, что немного непредсказуемо. Если у вас не установлен anacron, сейчас 06:25 по местному времени, что может быть нормально (или может быть ужасно, если вы рано встаете). Если вы это сделаете, что, я думаю, является значением по умолчанию, вполне может пройти 10 минут после первого включения машины каждый день, что приведет в бешенство. В любом случае cron.daily для этого не подходит.

cron.daily запускается каждую ночь в 6:25 в моей системе. Обычно это случайная минута между 06:00 и 06:59. Время в вашей системе смотрите в /etc/crontab

Самая большая проблема с использованием cron.daily для этого заключается в том, что это может помешать другим заданиям в cron.daily.

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

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

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

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

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

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

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



Есть ответ того же содержания 5 летней давности с более подробной информацией и автоматической проверкой синтаксиса (через crontab -e ).

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

Создайте сценарий, следуя указаниям Кеса Кука.

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

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

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

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

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

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

Я новичок в Linux и хочу запланировать перезагрузку в полночь. Как мне это сделать?

Редактирует:

Извините, я не указал полную информацию. Я хочу перезагрузку каждую 3-ю субботу месяца в 23:30.

Я не знаю, что случилось, но я не могу найти crontab. У меня есть cron.d ; cron.daily ; cron.еженедельно ; cron.ежемесячно ;

Извините за нубский вопрос. Пожалуйста, помогите мне. Спасибо.

Настоящий вопрос заключается в том, почему вы хотите делать это регулярно, у вас есть дырявое приложение или что-то в этом роде? Если вы планируете регулярные перезагрузки для решения проблемы, возможно, у вас есть более серьезная проблема.

Я не голосую против, потому что это своего рода политическое решение (и я думаю, что ночные перезагрузки немного чрезмерны), но регулярные перезагрузки по расписанию в инфраструктуре — это достойный способ убедиться, что на машинах установлены самые последние ядра и все запущенные сервисы пропатчены. Я слышал, что трехмесячный срок безотказной работы является хорошим компромиссом.

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

Запись в /etc/crontab вида 30 23 15-21 * 6 /sbin/shutdown -r теперь будет перезагружаться в 23:30 в 3-ю субботу каждого месяца.

6 ответов 6

Введите shutdown -r 0:00, и он перезагрузится в полночь.

Если вы хотите перезагружаться каждую ночь, добавьте запись cron, используя crontab -e от имени пользователя root, чтобы каждую полночь запускать shutdown -r

Ой, да, извините, я неправильно прочитал комментарий Тобу и думаю, что он говорит, что 0:00 было бесполезно в первой команде. Я отредактировал, чтобы исправить (и Массимо тоже отвечает)

Обратите внимание, что команда shutdown -r 22:00 и закрытие терминала отменяет команду перезагрузки. nohup shutdown -r 22:00 & для сохранения команды перезагрузки после закрытия окна терминала.

Добавление этой записи в /etc/crontab должно выполнять следующие действия:


Первоначальный вопрос звучал так, будто он хотел, чтобы он перезагружался каждую ночь. На самом деле он хочет, чтобы он перезагружался каждую третью субботу, что было бы проще всего сделать с помощью crontab

Я не знаю, что случилось, но я не могу найти crontab. у меня есть cron.d;cron.daily; cron.еженедельно; крон.ежемесячно; Извините за нубский вопрос. Пожалуйста, помогите мне. спасибо

Это зависит от используемого вами дистрибутива, но обычно вы должны найти файл с именем "crontab" в системном каталоге /etc. Вы также должны иметь возможность просматривать текущий crontab с помощью команды «crontab -l» и редактировать его с помощью «crontab -e».

Другой вариант — это команда at, доступная во многих дистрибутивах Linux. См. справочную страницу для получения дополнительной информации, но общий синтаксис для ваших целей будет таким:

Цитируя справочную страницу OS X:

at — выполняет команды в указанное время

Похоже на то, о чем мы говорим. ;)

Насколько мне известно, вы не можете использовать cron для планирования задач на "последнюю пятницу каждого месяца" или "третий четверг каждого месяца". Что вы можете сделать, каким бы уродливым это ни казалось, так это запускать сценарий каждую субботу в 23:30, а затем определять, является ли эта конкретная суббота третьей субботой недели (это можно сделать с помощью команд date и, возможно, cal) .

Надеюсь, это поможет. Я не нашел элегантного решения этой проблемы. Я нашел эту тему, потому что искал решение той же проблемы.

приведенные выше комментарии «30 23 15-21 * 6 /sbin/shutdown -r now» будут работать. В основном он будет работать только в третью неделю месяца, но только в субботу.

Я создал следующие две строки: "30 23 1-7 * 4 дата" и "30 23 1-7 * 3 дата". Прошлой ночью я получил два письма, в которых говорилось: "Среда, 7 марта, 23:30:02 по центральноевропейскому времени 2012 года"

последнее поле соответствует дню недели, а ноль соответствует воскресенью. задание 4 cron не должно совпадать со средой.

Именно это я и имел в виду. Правило, которое вы написали, означает не то, что вы думаете. Это будет запускать задание каждый день в течение недели. Независимо от дня недели.

1) в командной строке введите what reboot
2) как только вы узнаете, где находится перезагрузка (обычно /sbin/reboot), перейдите в один из каталогов в /etc/ cron.daily , /etc/cron.weekly , /etc/cron.hourly и т. д. т.е. cd /etc/cron.weekly

3) создайте файл (используя nano или vim), назовите его zzreboot и добавьте следующие строки:

Причина, по которой вы хотите назвать файл zzwhatever, состоит в том, чтобы убедиться, что это последнее задание, вызываемое после всех других заданий. Чтобы убедиться, просто выполните ls -l в каталоге и убедитесь, что это последний файл.

Перезагрузка системы позволяет сбросить все запущенные в ней процессы и задачи, удалить временные файлы и освободить память.Он позволяет повысить производительность системы и снизить нагрузку на сервер. Рекомендуется регулярно перезагружать систему. Однако может быть утомительно помнить, когда перезагружаться, и делать это каждый раз вручную. Поэтому рекомендуется запланировать перезагрузку системы через регулярные промежутки времени. Вы можете легко сделать это в Linux. В этой статье мы рассмотрим, как запланировать перезагрузку в Linux.

Как запланировать перезагрузку в Linux

Кронтаб чаще всего используется для создания заданий cron, которые запускают процессы, сценарии и команды в запланированное время. Мы будем использовать его для планирования перезагрузки системы. Crontab состоит из cronjobs, указанных пользователем. Каждое задание cron — это команда, сценарий или процесс, а также время, когда они должны выполняться. Демон cron регулярно просматривает документ crontab и запускает cronjobs для выполнения.

Откройте терминал и выполните следующую команду, чтобы открыть crontab.

Он откроет crontab в текстовом редакторе.

Добавьте следующую команду в отдельную строку файла.

Сохраните и закройте файл. Теперь вы запланировали перезагрузку на 10:00 ежедневно в соответствии с часовым поясом системы.

Давайте подробно рассмотрим приведенную выше строку. Формат каждого задания cron в файле crontab следующий.


В нашем cronjob мы использовали ‘00 10 * * *’ для ежедневного запуска cronjobs в 10:00. Выполняемая команда — «sudo Shutrown -r», которая в основном перезагружает систему.

Вы можете использовать онлайн-генератор cronjob, чтобы легко сгенерировать команду cronjob в соответствии с вашими требованиями.

Теперь давайте рассмотрим команды cronjob для некоторых распространенных случаев использования.

Перезагружать каждую ночь

Вот команда cronjob для перезапуска системы каждую ночь в 22:00

Еженедельная перезагрузка

Если вы хотите перезагружать систему каждое воскресенье в 21:00. тогда вот синтаксис cronjob для него.

Вот и все. В этой статье мы узнали, как планировать перезагрузку в разное время. Если вы не хотите перезагружаться, а только завершаете работу, удалите параметр -r из приведенных выше команд.

 Команда linux shutdown — научиться останавливать, перезагружать и останавливать по расписанию» width=

Команда Linux Shutdown — это инструмент командной строки, который безопасно отключает вашу систему.

Вы можете выключить систему немедленно или через определенный промежуток времени. Если вы работаете на безголовом сервере или подключены к удаленному серверу через SSH, командная строка — единственный способ выключить систему. Когда вы нажимаете команду выключения, все вошедшие в систему пользователи и процессы получают уведомление о том, что система отключается, и дальнейшие входы в систему запрещены.

В этом руководстве мы покажем вам, как использовать команду shutdown для отключения системы в Linux.

Основной синтаксис команды завершения работы Linux

Основной синтаксис команды Shutdown показан ниже:

выключение [ОПЦИИ] [ВРЕМЯ] [СООБЩЕНИЕ]

  • ВАРИАНТЫ: укажите различные параметры выключения, включая остановку, отключение питания и перезагрузку.
  • ВРЕМЯ: укажите, когда вы хотите выключить систему.
  • СООБЩЕНИЕ: укажите сообщение, которое вы хотите передать всем пользователям.

Подробная информация о каждой опции, доступной с командой выключения, показана ниже:

  • -c
    Этот параметр используется для отмены процесса завершения работы.
  • -r
    Эта опция используется для перезагрузки системы.
  • -h
    Этот параметр указывает системе завершить работу, а затем остановиться.
  • -P
    Этот параметр указывает системе завершить работу, а затем отключить питание.
  • -f
    Этот параметр пропускает проверку файловой системы после перезагрузки.
  • -F
    Эта опция принудительно проверяет файловую систему после перезагрузки.

Вы можете просмотреть справочную страницу выключения с помощью следующей команды:

Вы должны увидеть следующий экран:


Работа с командой «Завершение работы»

Если запустить команду shutdown без каких-либо аргументов, она отключит питание системы, а не перезагрузит/перезапустит.

По умолчанию процесс отключения питания будет инициирован через минуту после выполнения команды выключения.

Если вы хотите немедленно выключить систему, выполните следующую команду:

Вы должны увидеть следующий вывод:

Сообщение от vyom@rsyslog-client
(/dev/pts/19) в 21:28 .
Система сейчас останавливается!

Команда перезагрузки Linux

Вы перезагружаете Linux, указав опцию -r после выключения, как показано ниже:

Вы должны увидеть следующий вывод:

Сообщение от vyom@rsyslog-client
(/dev/pts/19) в 21:28 .
Сейчас система отключается для перезагрузки!

Запланируйте выключение и/или перезагрузку Linux в определенное время

Вы также можете выключать и перезагружать систему через заданный интервал времени.

Например, чтобы запланировать отключение системы на 11 часов утра, выполните следующую команду:

выключение -ч 11:00

Вы должны увидеть следующий вывод:

Сообщение от vyom@rsyslog-client
(/dev/pts/19) в 21:45 .
Система остановится через 795 минут!

Чтобы запланировать перезагрузку системы на 7 утра, выполните следующую команду:

Вы должны увидеть следующий вывод:

Сообщение от vyom@rsyslog-client
(/dev/pts/19) в 21:47 .
Система отключается на перезагрузку через 553 минуты!

Чтобы запланировать отключение системы через 20 минут с предупреждающим сообщением, выполните следующую команду:

shutdown -h +20 "Система будет отключена для обновления оборудования"

Вы должны увидеть следующий вывод:

Сообщение от vyom@rsyslog-client
(/dev/pts/19) в 21:49 .
Система остановится через 20 минут!
Система будет отключена для обновления оборудования

Отменить операцию завершения работы Linux

Если вы запланировали выключение системы в определенное время и хотите отменить процесс выключения в течение времени, указанного в команде выключения, запустите команду выключения с параметром -c:

Например, откройте первый терминал и запланируйте отключение системы через 10 минут с помощью следующей команды:

Затем откройте второй терминал и отмените завершение работы с помощью следующей команды:

Вы должны увидеть следующий вывод на первом терминале:

Сообщение от vyom@rsyslog-client
(/dev/pts/19) в 21:59 .
Система останавливается через 10 минут!
выключение: Выключение отменено

Заключение

Как видите, существует несколько способов выключения системы с помощью команды Linux Shutdown. Использование этой команды с различными параметрами может выполнять завершение работы, перезагрузку, остановку и отключение питания вашей системы.

Читайте также: