- Отключить компьютер в заданное время
- 2 ответа 2
- Объяснение подробнее.
- Выключить линукс через время
- Завершение работы компьютера с ОС Linux по таймеру
- Как использовать команду shutdown в Linux с примерами
- Синтаксис команды выключения
- Как использовать команду выключения
- Выключение со всеми параметрами
- Как выключить систему в определенное время
- Как немедленно выключить систему
- Как транслировать собственное сообщение
- Как отменить запланированное выключение
- Выключение и перезагрузка Linux. Shutdown и Reboot
- Синтаксис команды shutdown
- Перезагрузить систему
- Выключить компьютер
- Перезагрузка или выключение Linux по времени
- Отправка сообщения перед перезагрузкой или выключением
- Отмена запланированной перезагрузки или выключения
Отключить компьютер в заданное время
Я хочу, чтоб моя Ubuntu автоматически отключалась каждый день в определенное время. Как этого можно добиться?
2 ответа 2
На помощь нам придет юниксный демон по имени cron .
Для того, чтобы поставить задачу в расписание, мы добавим ее в файл /etc/crontab .
Открываем терминал — Ctrl Alt T .
Файл можно редактировать такой командой:
Для отключения компьютера каждый день в 23:03 добавим в файл такую строчку:
03 23 * * * root shutdown -h now
Последняя строчка файла должна быть пустая.
Эта часть была написана по мотивам askubuntu.
Объяснение подробнее.
В самом этом файле /etc/crontab объясняется формат таблицы задач:
# m h dom mon dow user command
Первые два поля — минута и час запуска задачи,
3-е поле (dom) — день месяца (Day of Month),
затем месяц,
5-е поле (dow) — день недели,
затем пользователь, от чьего имени будет запускаться команда,
и, собственно, команда.
Время запуска
Все условия (времени запуска) проверяются по «логическому И», кроме условий «день недели» и «день месяца» — указанные совместно, они обрабатываются по «логическому ИЛИ», то есть «по любому из дней», что отражено в документации (Ubuntu, Debian, FreeBSD). (См. Википедия, man 5 crontab ). Если вы хотите проверять их по «логическому И», делайте это в самой команде.
Например, перезагрузка в пятницу, 13-го:
0 0 13 * * root [ "$(date '+\%u')" -eq 5 ] && shutdown -r now
Crontab пользователя.
Кроме общей таблицы crontab, каждый пользователь имеет свою. Свою личную таблицу можно редактировать командой
Таблицу другого пользователя, например, ‘root’-а, можно редактировать командой
В первоначальном вопросе правильнее, я думаю, было бы использовать именно этот вариант.
Если в системе есть всего один пользователь, то можно отключать компьютер и через него, и через ‘root’, без разницы.
Спасибо господам 0andriy и Sergey, который привлекли мое внимание к такой возможности.
Обратите внимание, что в таблице конкретного пользователя формат задачи немного другой, там не нужно указывать пользователя. Вместо
03 23 * * * root shutdown -h now
Переменные окружения
Популярная причина проблем с работой crontab — другое определение переменных окружения при работе демона cron , особенно переменной $PATH .
Вы можете узнать переменные окружения cron -а, вставив в crontab строчку
После того, как файл /tmp/env.output создан, эту строчку можно убрать.
Оказывается, в Ubuntu cron запускается с PATH=/usr/bin:/bin . Для корректной работы нужно определить правильный $PATH в самом файле crontab .
Обратите внимание, что значение переменных не подставляется, то есть
не сработает.
Альтернативный способ решения этой проблемы — использовать полные пути для запуска команд. Но он хуже, если вы хотите проверить свою команду в терминале или перенести в другую систему.
Если вы запускаете программы с GUI, вам также надо определить $DISPLAY:
Да, и не забывайте в конце crontab -а вставлять пустую строчку.
Вторая часть ответа была написана по мотивам вопроса о проблемах работы с crontab -ом на askubuntu.
Спасибо всем комментаторам за плодотворную дискуссию.
Выключить линукс через время
Завершение работы компьютера с ОС Linux по таймеру
Как всем давно известно, компьютер, работающий под управлением Linux, может работать круглосуточно годами. Но большинство пользователей предпочитают выключать свой компьютер или ноутбук после завершения работы или после того, как будет выполнена автоматическая работа, которая не требует вмешательства человека. Для достижения данной цели можно воспользоваться командой shutdown .
Внимание! Команда shutdown может быть выполнена только от имени суперпользователя (root). Чтобы выполнять команды от имени суперпользователя, нужно перед выполнением команды написать sudo . Также можно воспользоваться командой su и после этого вводить команды в терминал без написания sudo .
Shutdown — консольная команда Linux, служащая для для выключения или перезагрузки машины.
Из основных параметров (options) следует отметить два:
- -r — перезагрузить систему;
- -h — полная остановка системы (с таким параметром компьютер будет выключен).
Параметром TIME можно задать время, когда будет выполнена команда. Указание этого параметра необязательно — если вы не укажите время, то команда выполнится немедленно. Можно указать время, через которое выполнится команда: +20 (через 20 минут); или явно указать время, когда следует выполнить команду: 15:20 (в 15 часов 20 минут).
Например, чтобы выключить компьютер через 20 минут, следует выполнить:
Для того, чтобы выключить в 15:20:
Для перезагрузки системы сейчас:
Хотя перезагрузиться проще так:
У вас недостаточно прав для того чтобы тут гадить.
Как использовать команду shutdown в Linux с примерами
Все пользователи Linux и системные администраторы должны знать, как безопасно выключить всю систему. Для этого есть несколько вариантов, включая планирование выключения в определенное время, немедленное выключение, рассылку уникального сообщения и так далее.
В этом руководстве вы узнаете, как использовать команду выключения Linux shutdown с примерами.
Синтаксис команды выключения
Прежде чем переходить к конкретным способам выключения вашей системы Linux, вы должны понять основной синтаксис команды выключения:
shutdown [options] [time] [message]
- [options] — определяют, хотите ли вы остановить, выключить или перезагрузить машину.
- [time] — указывает, когда вы хотите завершить выключение.
- [message] — добавляет сообщение, объявляющее о завершении работы.
Как использовать команду выключения
Для использования команды shutdown в системах Linux требуется пользователь root или пользователь с привилегиями sudo .
Если вы используете команду без дополнительных аргументов, запуск sudo shutdown в окне терминала выполнит завершение работы за 60 секунд.
Выключение со всеми параметрами
Чтобы просмотреть все параметры при завершении работы системы Linux, используйте следующую команду:
На выводе отображается список параметров выключения, а также описание каждого из них.
Как выключить систему в определенное время
Чтобы запланировать завершение работы, добавьте аргумент [time] и укажите, когда вы хотите, чтобы оно произошло. Есть два способа выключить систему в определенное время — с использованием абсолютного или относительного формата времени.
Абсолютное время соответствует формату чч:мм (hh:mm) и позволяет запланировать выключение в указанное время. Команда следует синтаксису:
Например, чтобы потребовать выключения в 7 утра, введите следующую команду:
В качестве альтернативы можно использовать относительный формат +m и запланировать завершение работы через определенное количество минут с момента запуска команды. В этом случае синтаксис команды:
Чтобы выключить систему через 20 минут, запустите:
Как немедленно выключить систему
Как упоминалось ранее, запуск команды shutdown без каких-либо аргументов заставляет систему выключиться через минуту после выполнения команды. Однако, если вам требуется немедленное выключение, используйте:
Другой вариант — запланировать выключение, используя формат относительного времени со значением 0, как в приведенной ниже команде:
Как транслировать собственное сообщение
После того, как вы запланировали выключение системы, все пользователи в системе получат сообщение, уведомляющее их о выключении. Чтобы добавить настраиваемое сообщение в уведомление о завершении работы, чтобы информировать пользователей о том, что должно произойти.
Вы можете добавить [message], только если команда также включает атрибут [time]:
sudo shutdown [time] "[message]"
Например, чтобы выключить систему через 20 минут и передать сообщение об обновлении системы, запустите:
sudo shutdown +20 "System Upgrade"
Как отменить запланированное выключение
Чтобы отменить запланированное выключение, используйте команду:
Вы также можете добавить сообщение для уведомления пользователей об отмене завершения работы. Для этого добавьте параметр [message] (в кавычках) к приведенной выше команде. Например:
sudo shutdown -c "Canceling System Upgrade"
Выключение и перезагрузка Linux. Shutdown и Reboot
Команда shutdown предназначена для выключения и перезагрузки компьютера, используя командую строку Linux. shutdown также позволяет перезагрузить или выключить компьютер в заданное время или через заданный интервал времени.
Синтаксис команды shutdown
shutdown [опции] [время] [сообщение]
[опции] — указывает действие, которое необходимо выполнить.
[время] — время или интервал для выполнения действия.
[сообщение] — сообщение, рассылаемое залогиненным пользователям.
Перезагрузить систему
Для перезагрузки системы используется ключ -r . Чтобы немедленно запустить перезапуск системы используется команда:
Для перезагрузки Linux также можно использовать команду reboot. Она является аналогом команды shutdown -r . Для перезагрузки Linux из командной строки, с использованием команды reboot, необходимо выполнить:
Выключить компьютер
Чтобы корректно завершить систему и выключить компьютер используется команда:
Также можно использовать команду reboot с ключом -p :
Перезагрузка или выключение Linux по времени
Для команды shutdown можно указать точное время или интервал времени, через который необходимо перезагрузить или выключить систему. Рассмотрим примеры.
Выключить систему через 15 минут:
Выключить систему в 13 часов 10 минут:
Перезагрузить систему через 10 минут:
Отправка сообщения перед перезагрузкой или выключением
Если система используется несколькими пользователями, то бывает полезно предупредить их перед выполнением перезагрузки или выключением системы. Для этого в конце команды shutdown пишется соответствующее сообщение:
sudo shutdown 15:30 "Save your data! System will be shutdown at 15:30."
Отмена запланированной перезагрузки или выключения
Если вы выполнили команду shutdown и установили соответствующее время для ее выполнения, то чтобы отменить данное действие используется ключ -c :
Дополнительную информацию по командам shutdown и reboot можно получить, выполнив
К перезагрузке или выключению компьютера из командной сроки Linux иногда прибегают, когда «система» или какой-нибудь процесс или группа процессов серьезно повисла. Смотрите также как завершать процессы, используя команду kill.