скрипт выключения компьютера linux

Выключение компьютера с Linux через терминал

Выключение компьютера — вполне рутинная процедура, о которой писать, казалось бы, нет особого смысла. Тем не менее, в случае с Linux есть множество способов отключить компьютер через терминал. О плюсах и минусах каждого из них мы сейчас и поговорим.

Безусловно, выключить компьютер посредством графического интерфейса является более удобным способом. Но иногда этого интерфейса просто нет. Или Вы просто любитель командных интерпретаторов. Какие команды в таком случае можно использовать? Давайте посмотрим.

shutdown

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

Допустим, что нам нужно отложенное выключение через 10 минут. Тогда нам поможет следующая команда:

Команда выше не только выключит компьютер через 10 минут, но и выведет предупреждающее сообщение.

Можно указать и конкретное время выключение компьютера. Допустим, что мы хотим выключить его в 19:00:

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

poweroff

Другая популярная команда для выключения компьютера через терминал Linux. Является более грубым способом, поскольку банально отключает питание без церемоний. Использовать очень просто:

reboot

SysRq

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

Дело в том, что ядро обрабатывает нажатия клавиш даже в «зависшей» системе. Для доступа к SysRq зажмите сочетание Alt+PrtScr. Далее, не отпуская этих клавиш, поочередно нажимайте:

Есть и альтернативная команда Alt+PrtScr+O, но она поддерживается не всегда. В целом, SysRq это больше чрезвычайный метод выключения компьютера, когда система поражена вирусом, или в случае зависания компьютера с действительно важной информацией, которую не хотелось бы терять.

Источник

Выключение Linux из командной строки

Команда «shutdown» безопасно отключает систему. Все вошедшие в систему пользователи получают уведомление о том, что система выключается, а операции входа блокируются. Можно сразу выключить систему или после указанной задержки.

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

В вашей системе может быть другой набор параметров для команды завершения работы; Проверьте документацию устройства.

Выключение Linux из командной строки

shutdown ubuntu server terminal1 e1492885822686

Выключение Linux из командной строки: примеры

Время может быть отформатировано по-разному:

Во-первых, это может быть абсолютное время в формате hh: mm, где hh — это час (1 или 2 цифры, от 0 до 23), а mm — это минута часа (в двух цифрах).

Во-вторых, он может быть в формате + m, где m — количество минут, чтобы ждать.

Кроме того, теперь слово такое же, как указание +0; Он немедленно отключает систему.

Детали

Если выключение запланировано на будущее, он создаст консультативный файл / etc / nologin, который заставляет программы, такие как login, не допускать новых пользователей. Этот файл создается за пять минут до запуска последовательности выключения. Shutdown удаляет этот файл, если он остановлен до того, как он может сигнализировать об инициализации (то есть он отменен или что-то пошло не так). Он также удаляет его перед вызовом init для изменения уровня запуска.

Контроль доступа

Выключение может быть вызвано из init, когда нажата комбинация клавиш CTRL-ALT-DEL, если существует соответствующая запись в / etc / inittab. Это означает, что каждый, кто имеет физический доступ к консольной клавиатуре, может закрыть систему.

На физическую консоль системы. Формат /etc/shutdown.allow — одно имя пользователя в строке. Пустые строки и строки комментариев (с префиксом #) разрешены. В настоящее время в этом файле есть ограничение для 32 пользователей.

Выключение Linux и питания компьютера

Файлы

Выключение Linux из командной строки: примеры

Запланируйте выключение системы в 8 часов утра.

Запланируйте выключение системы в 8 часов вечера.

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

Немедленно выключить Linux

Немедленно опустите систему и автоматически перезагрузите ее.

Немедленно выключите и автоматически отключите систему.

Связанные команды

Перевод из замечательного английского ресурса computerhope.

Если у вас остались какие-то вопросы по теме «Выключение Linux из командной строки», то можете писать их нам в форму комментариев на сайте.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Выключение и перезагрузка Linux. Shutdown и Reboot

shutdow reboot

Команда shutdown

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

Синтаксис команды shutdown

[опции] — указывает действие, которое необходимо выполнить.
[время] — время или интервал для выполнения действия.
[сообщение] — сообщение, рассылаемое залогиненным пользователям.

Перезагрузить систему

Выключить компьютер

Чтобы корректно завершить систему и выключить компьютер используется команда:

Перезагрузка или выключение Linux по времени

Для команды shutdown можно указать точное время или интервал времени, через который необходимо перезагрузить или выключить систему. Рассмотрим примеры.

Выключить систему через 15 минут:

Выключить систему в 13 часов 10 минут:

Перезагрузить систему через 10 минут:

Отправка сообщения перед перезагрузкой или выключением

Если система используется несколькими пользователями, то бывает полезно предупредить их перед выполнением перезагрузки или выключением системы. Для этого в конце команды shutdown пишется соответствующее сообщение:

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

Дополнительную информацию по командам shutdown и reboot можно получить, выполнив

К перезагрузке или выключению компьютера из командной сроки Linux иногда прибегают, когда «система» или какой-нибудь процесс или группа процессов серьезно повисла. Смотрите также как завершать процессы, используя команду kill.

Источник

Отключить компьютер в заданное время

Я хочу, чтоб моя Ubuntu автоматически отключалась каждый день в определенное время. Как этого можно добиться?

2 ответа 2

Зачем трогать крон в системе с божественным systemd? 🙂

Сделаем таймер для запуска этой службы по расписанию, создав файл /etc/systemd/system/systemd-poweroff.timer (под рутом, разумеется):

Запустим его (таймер, а не выключение):

И добавим в автозагрузку, чтобы каждый раз вручную не запускать:

Теперь этот таймер будет каждый день в 23:03 запускать ту службу, которая написана в имени файла — systemd-poweroff — и тем самым выключать компьютер.

С помощью команды sudo systemctl status systemd-poweroff.timer можно посмотреть информацию о таймере: точное время следующего запуска, оставшееся время и так далее:

Если вы отредактировали файл (например, изменили время), нужно выполнить sudo systemctl daemon-reload для применения изменений.

Подробнее про таймеры можно почитать на арчевики.

Для отключения компьютера каждый день в 23:03 добавим в файл такую строчку:

Последняя строчка файла должна быть пустая.

Эта часть была написана по мотивам askubuntu.

Объяснение подробнее.

(Обновлено)

В самом этом файле /etc/crontab объясняется формат таблицы задач:

Первые два поля — минута и час запуска задачи,
3-е поле (dom) — день месяца (Day of Month),
затем месяц,
5-е поле (dow) — день недели,
затем пользователь, от чьего имени будет запускаться команда,
и, собственно, команда.

Время запуска
Все условия (времени запуска) проверяются по «логическому И», кроме условий «день недели» и «день месяца» — указанные совместно, они обрабатываются по «логическому ИЛИ», то есть «по любому из дней», что отражено в документации (Ubuntu, Debian, FreeBSD). (См. Википедия, man 5 crontab ). Если вы хотите проверять их по «логическому И», делайте это в самой команде.

Например, перезагрузка в пятницу, 13-го:

Crontab пользователя.
Кроме общей таблицы crontab, каждый пользователь имеет свою. Свою личную таблицу можно редактировать командой

Таблицу другого пользователя, например, ‘root’-а, можно редактировать командой

В первоначальном вопросе правильнее, я думаю, было бы использовать именно этот вариант.
Если в системе есть всего один пользователь, то можно отключать компьютер и через него, и через ‘root’, без разницы.

Спасибо господам 0andriy и Sergey, который привлекли мое внимание к такой возможности.

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

Источник

Как выключить удаленный windows и linux сервер

У меня появилась задача по организации оперативного выключения удаленных серверов в один клик. Причем выключать сервера должны разнообразные пользователи, в том числе и без знаний и понимания принципов работы сервера. То есть они должны просто нажать кнопку, чтобы сервер автоматически завершил свою работу.

Дистанционное выключение Windows сервера

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

Обязательным условием удаленного выключения сервера является сетевой доступ к нему по rdp. Вы можете находится в локальной сети с ним, подключиться по vpn или пробросить rdp соединение редиректом со шлюза. Не важно, главное попасть в систему по rdp.

Принцип работы удаленного отключения следующий:

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

Итак, идем на север и создаем там простой bat файл следующего содержания:

user shutdown

Вот тут я напоролся на первые неприятности. Я назвал свой скрипт shutdown.bat и очень долго не мог понять, почему он не срабатывает. При вводе команды shutdown с параметрами в консоли все отлично работало, но скрипт не запускался. Оказывается, его нельзя называть таким именем. После того, как переименовал в shut.bat, все отлично заработало. Какая-то нелепая загвоздка, но мне пришлось потратить немало времени, пока я разобрался, в чем тут дело.

Теперь нам нужно настроить автоматический вход пользователя по rdp, чтобы выполнить удаленное завершение работы. Причем пользователь должен заходить на сервер без запроса имени и пароля. Штатными средствами rdp клиента windows это сделать невозможно. Даже если вы сохраните параметры, то при переносе настроек на другой компьютер нужно будет снова вводить пароль. Мне это не подходило.

Я пробовал использовать старую портированную версию rdp 5.2. Это последняя версия, где пароль в зашифрованном виде можно было хранить в файле настроек. Но при переносе этого файла на другой компьютер, все равно выскакивало окно с вводом пароля. Добиться полного автоматизма не получалось.

Но решение было найдено. Существует любопытный проект Remote Desktop Plus, который является надстройкой над rdp. С помощью этой надстройки можно передать параметры в rdp через командную строку, в том числе и имя пользователя с паролем. Мне это полностью подходит. Скачиваем файлик rdp.exe либо с сайта автора проекта, либо с моего. Я скопировал на всякий случай эту очень полезную утилиту. Кладем его в папку и создаем в этой же папке rem-shut.bat файл следующего содержания:

10.10.5.14 адрес удаленного сервера
shut-user пользователь rdp от имени которого будет происходить выключение
pass123 пароль пользователя
640 480 параметры разрешения экрана, можно не указывать

Всего этого достаточно, чтобы выполнить дистанционное завершение работы на windows сервере. Пользователю необходимо передать 2 файла:

Важно, чтобы они лежали в одной папке. При запуске батника произойдет подключение rdp пользователя и выполнится скрипт завершения работы. Задача выполнена.

Удаленное выключение linux сервера

Здесь все оказалось значительно проще. Сразу же было найдено рабочее решение, которое позволяет без проблем удаленно выключить любой linux сервер. Задача решается стандартными средствами putty. Эту программу можно запускать из командной строки с параметрами. В качестве параметров можно указать файл с командами для выполнения, адрес сервера, пользователя и пароль.

Подготовим все необходимое. Сначала создаем простой текстовый документ shutdown.txt следующего содержания:

Дальше создаем bat файл serv-rem-shut.bat с таким содержимым:

shutdown.txt текстовый файл с командой на отключение
22 номер порта ssh
root имя пользователя, от которого будет выполняться команда на удаленное выключение, лучше создать отдельного
rootpass пароль этого пользователя
10.10.5.15 адрес linux сервера

Передаем пользователю 3 файла, сложенные в одну папку:

Теперь при запуске скрипта serv-rem-shut.bat серверу по сети будет отправлена консольная команда на завершение работы. При этом не будет задано никаких вопросов. Сервер просто молча выключится.

Заключение

Вот такие нехитрые способы были мной придуманы и реализованы. Тут еще важно обеспечить доступ к локальной сети, в которой живут серверы. В моем случае openvpn позволяет выполнить удаленное выключение компьютеров даже через интернет.

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

Источник

Поделиться с друзьями
Remonta.top
Добавить комментарий