- Выключение и запуск по расписанию Linux
- Планирование включения в Linux
- Выводы
- Как я могу запланировать перезагрузку в Linux?
- unixforum.org
- перезагрузка по расписанию
- перезагрузка по расписанию
- Re: перезагрузка по расписанию
- Re: перезагрузка по расписанию
- Re: перезагрузка по расписанию
- Re: перезагрузка по расписанию
- Re: перезагрузка по расписанию
- Re: перезагрузка по расписанию
- Отложенная перезагрузка Linux
- Linux перезагрузка
- Команда reboot
- Команда shutdown
- Отложенная перезагрузка компьютера в Linux
- Перезагрузка Linux через некоторое время
- Перезагрузка сервера Linux в конкретное время
- Благодарности
- Автоматический перезапуск сервиса Linux
- Автоматический перезапуск сервиса в systemd
- Автоматический перезапуск сервиса с помощью скрипта
Выключение и запуск по расписанию Linux
Операционная система Linux позволяет планировать запуск, завершение или переход компьютера в режим сна в нужное вам время. Например, вы можете запланировать запуск компьютера утром и автоматическое выключение когда ложитесь спать.
Иногда это очень даже полезно, вы экономите время, в место того чтобы ждать пока загрузится операционная система, можно сразу садится и работать, и это просто удобно. Можно запланировать включение компьютера по расписанию, даже после завершения работы скрипта.
Планирование включения в Linux
В Linux для завершения работы или перехода в режим сна и планирования запуска, используется утилита rtcwake. Это встроенный в ядро инструмент, поэтому она уже есть во всех дистрибутивах и устанавливать ничего не придется. Синтаксис команды такой:
$ sudo rtcwake –m режим –s время
$ sudo rtcwake –m режим –t время
После выполнения команды компьютер сразу выключится. Параметр -s указывает количество секунд до запуска компьютера. Опция -m устанавливает режим выключения. Дело в том что компьютер выключается не полностью, он переходит в сон, при котором питание подается только на несколько самых важных компонентов. Эти компоненты и определяет режим, указанный в этом параметре. Доступные режимы:
- standby (S1) – режим с минимальным энергосбережением, компьютер очень быстро засыпает и так же быстро восстанавливается. Этот режим используется по умолчанию;
- mem – (S3) – все компоненты системы отключаются кроме памяти;
- disk(S4) – Все содержимое памяти записывается на диск;
- off (S5) – Аналогично вызову команды shutdown;
- on – без отключения, используется для отладки.
А теперь давайте рассмотрим основные опции команды rtcwake Linux:
- -a — определить какое время использовать локальное или UTC на основе файла /etc/adjtime;
- —date — указать дату включения компьютера, доступны такие варианты: YYYY-MM-DD hh:mm:ss, YYYY-MM-DD (время будет установлено в 00:00), hh:mm:ss (дата будет установлена на сегодня), tomorrow (завтра в 00:00);
- -l, —local — использовать локальное время, а не UTC;
- —list-modes — вывести доступные режимы планирования включения;
- -m, —mode — выбрать режим планирования;
- -n, —dry-run — тестовый запуск;
- -t — время следующего запуска в формате Unix, в секундах, прошедших с 01-01-1970;
- -u, —utc — использовать UTC время вместо локального;
- -v — максимально подробный вывод.
Например, следующая команда переводит компьютер в режим сна и планирует включение через 3 минуты:
rtcwake -m mem -s 180
Время запуска можно задавать не только в секундах от текущего момента, но и в формате полной даты и времени. Это делается с помощью опции -t, но эта опция принимает время в формате UNIX, поэтому сначала нужно преобразовать наше, обычное время, в этот формат с помощью date.
Например, давайте включим компьютер завтра в 13.00, допустим сегодня 10 сентября 2016. Сначала преобразуем данные:
date +%s -d «2016-09-11 13:00»
Выключаем компьютер и планируем запуск по расписанию:
rtcwake -m mem -t 1473541200
Чтобы запланировать выключение Linux по расписанию или переход в режим сна будем использовать cron. Просто запланируйте выполнение команды rtcwake через crontab в нужное время для выключения компьютера и планирования последующего включения. Например, выполняем выключение компьютера Linux вечером и выполнить запуск по расписанию linux с утра:
0 21 * * * /usr/bin/rtcwake -m mem -s 28800
Если вам не нужно включать компьютер, а только выключить, можете вместо предыдущей команды использовать shutdown:
0 21 * * * /usr/bin/shutdown -h now
Вот и все. Подробнее о том, как настраивается расписание задач в cron смотрите здесь.
Выводы
Теперь вы знаете как запланировать запуск, выключение или переход в режим сна в Linux. Это не сложно и в некоторых ситуациях может очень помочь. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Как я могу запланировать перезагрузку в Linux?
Я новичок в Linux и хочу запланировать перезагрузку в полночь. как мне это сделать?
Редактирование:
Извините, я не поставил полную информацию. Я хочу перезагрузить каждую третью субботу месяца в 23:30.
Я не знаю, что не так, но я не могу найти crontab. Что у меня есть cron.d ; cron.daily ; cron.weekly ; cron.monthly ;
Я извиняюсь за вопрос нуба. Пожалуйста, помогите мне. Спасибо.
Типа shutdown -r 0:00 и он перезагрузится в полночь.
Если вы хотите перезагружаться каждую ночь, добавьте запись cron, используя crontab -e в качестве пользователя root, чтобы запускать shutdown -r каждую полночь
Добавление этой записи в / etc / crontab должно сделать:
Другой вариант — команда at , доступная во многих дистрибутивах Linux. Смотрите man-страницу для получения дополнительной информации, но общий синтаксис для вашей цели:
эхо «перезагрузка» | в 00:00 27 июня
Цитировать справочную страницу OS X:
at — выполняет команды в указанное время
Звучит так, как мы говорим. 😉
Насколько я знаю, вы не можете использовать cron для планирования задач на «последнюю пятницу каждого месяца» или «третий четверг каждого месяца». Что вы можете сделать, каким бы уродливым это ни казалось, — запускать каждую субботу в 23:30 сценарий, а затем этот сценарий определять, является ли данная суббота третьей субботой недели (это можно сделать с помощью команд date и, возможно, cal). ,
Надеюсь, это поможет. Я не нашел изящного решения этой проблемы. Я нашел эту ветку, потому что искал решение той же проблемы.
1) в командной строке введите 2) как только вы узнаете, где находится перезагрузка (обычно / sbin / reboot), перейдите в один из каталогов в /etc/cron.daily, /etc/cron.weekly, / etc / cron. почасово и т. д. which reboot
cd /etc/cron.weekly
3) создайте файл (используя nano или vim), назовите его zzreboot и добавьте следующие строки:
#! / bin / sh
/ sbin / reboot
Причина, по которой вы хотите назвать файл zz, заключается в том, чтобы убедиться, что это последнее задание, вызванное после всех остальных заданий. Чтобы убедиться, что просто сделайте ls -l в каталоге и убедитесь, что это последний файл.
Источник
unixforum.org
Форум для пользователей UNIX-подобных систем
- Темы без ответов
- Активные темы
- Поиск
- Статус форума
перезагрузка по расписанию
Модератор: SLEDopit
перезагрузка по расписанию
Сообщение andrsyash » 09.03.2006 10:49
Подскажите пожалуйста, уважаемые спецы, можно ли выполнять перезагрузку по расписанию (cron)
Re: перезагрузка по расписанию
Подскажите пожалуйста, уважаемые спецы, можно ли выполнять перезагрузку по расписанию (cron)
Re: перезагрузка по расписанию
Сообщение rolano » 09.03.2006 11:19
Re: перезагрузка по расписанию
Сообщение andrsyash » 09.03.2006 12:11
Re: перезагрузка по расписанию
Сообщение shark3D » 09.03.2006 15:15
Re: перезагрузка по расписанию
Сообщение grub » 10.03.2006 16:05
Подскажите пожалуйста, уважаемые спецы, можно ли выполнять перезагрузку по расписанию (cron)
сначала говоришь crontab -e
потом в открывшемся редакторе пишешь что-то вроде:
10 13 * * * reboot
это значит что в 10 минут 13 часов любого дня любого месяца каждой недели будет выполняться команда reboot
Re: перезагрузка по расписанию
Сообщение vg2.0 » 10.03.2006 16:21
chmod 755 reboot
2. правим /var/cron/tab/root
там 5 полей:
m — минуты
h — часы
dm — день месяца
m — месяц
dw — день недели
данее идет путь до файла
Ну еще можно перезапустить cron, хотя это не обязательно
cd /etc/rc.d
./cron restart
Источник
Отложенная перезагрузка Linux
Мы все знаем, чтобы перезагрузить Linux сервер достаточно в консоли выполнить команду reboot. Однако недавно мне понадобилось сделать это (перезагрузку) в строго определенное время, но сидеть за консолью именно в это время у меня возможности не было. В этой статье постараюсь охватить все варианты выключения и перезагрузки linux из командной строки на примере CentOS.
Linux перезагрузка
Рассмотрим несколько вариантов как можно перезагрузить сервер в терминале:
Команда reboot
Reboot — это самая популярная команда перезагрузки linux:
После нажатия клавиши [Enter] компьютер сразу уйдет в перезагрузку.
Команда shutdown
Утилита shutdown с параметром -r так же позволяет перезагрузить операционную систему.
Отложенная перезагрузка компьютера в Linux
Если произвести перезагрузку сервера нужно провести не прямо сейчас, а через определенное время или в строго назначенный час, то можно воспользоваться следующими командами:
Перезагрузка Linux через некоторое время
Для указания отсрочки выполнения перезагрузки выполните следующую команду в консоли:
где +10 — количество минут по прошествии которых сервер будет перезагружен.
Перезагрузка сервера Linux в конкретное время
Когда нужно перезагрузить сервер строго в определенное время, то выполните следующую команду:
здесь 06:30 — это время когда сервер будет перезагружен.
Благодарности
При написании статьи были использованы следующие источники:
Источник
Автоматический перезапуск сервиса Linux
Иногда сервисы ни с того ни с сего падают и приходиться их вручную восстанавливать. Если для пользователя домашнего компьютера это не критично, потому что если сервис падает во время разработки, то это даже хорошо, можно сразу увидеть что есть проблема. Но на серверах и VPS сервисы должны работать постоянно для обеспечения доступа к веб-сайту или приложению.
В этой инструкции я покажу как настроить автоматический перезапуск сервиса Linux несколькими способами: с помощью скрипта мониторинга периодически запускаемого через cron и в systemd.
Автоматический перезапуск сервиса в systemd
По умолчанию, если ваш сервис будет убит или завершится некорректно, systemd не будет с ним ничего делать. Но можно настроить сервис так, чтобы при падении или даже остановке он автоматически перезапускался. Для этого используется директива Restart, которую надо добавить в секцию Service. Например, рассмотрим настройку автоматического перезапуска сервиса Apache:
sudo systemctl edit apache2
[Service]
Restart=on-failure
RestartSec=5s
Директива RestartSec указывает сколько ждать перед перезапуском сервиса. Когда завершите сохраните изменения и выполните команду daemon-reload, чтобы перечитать конфигурацию:
sudo systemctl daemon-reload
Затем чтобы проверить что всё работает посмотрите состояние процесса, завершите процесс сигналом kill:
sudo systemctl status apache2
kill -KILL 32091
И снова посмотрите состояние. Процесс будет запущен. Система инициализации автоматически перезапустит его как только он завершится с кодом возврата ошибки. Если вы хотите чтобы процесс перезапускался всегда, необходимо использовать директиву Restart: always. Однако с ней надо быть осторожным, она вовсе не даст вам завершить процесс, даже если будет необходимо. Для того, чтобы процесс, который постоянно падает не перезапускался, можно добавить лимит на количество перезапусков в секцию Service:
sudo systemctl edit apache2
[Service]
StartLimitIntervalSec=500
StartLimitBurst=5
Restart=on-failure
RestartSec=5s
Директивы StartLimitBurst и StartLimitIntervalSec указывают, что надо попытаться перезапустить сервис пять раз, и если он все эти пять раз упадёт, то больше его не трогать. Вторая директива ограничивает время перезапусков сервиса до 500 секунд.
Автоматический перезапуск сервиса с помощью скрипта
Это самый простой и самый надежный способ работающий абсолютно во всех дистрибутивах linux и не требующий установки дополнительных утилит. Для того же Apache скрипт выглядит следующим образом:
sudo vi /usr/local/bin/apache-monitor.sh
#!/bin/bash
ps -A | grep apache2 || systemctl start apache2
Сохраните файл, сделайте его исполняемым:
chmod ugo+x /usr/local/bin/apache-monitor.sh
Теперь добавьте запись в cron для периодического запуска скрипта:
На этом все, автоматический перезапуск сервисов штука может и немного сложная, но необходимая в серьезных системах.
Источник