Перезагрузить компьютер по сети из командной строки


Перезагрузка компьютера через cmd — SETIWIK

Опубликовано · Обновлено

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

Команда SHUTDOWN используется с разными ключами (параметрами), например команда:
shutdown /s — выключит ваш компьютер через 30 сек при этом выдаст уведомление.
shutdown /s /t 60 — выключит ваш компьютер через 60 секунд.
shutdown /s /t 60 /m \COMP — Данная команда выключит удаленный компьютер в сети который называется «COMP», через 60 секунд.

Примечание: Если команда не срабатывает тогда рекомендуется прописать не COMP а адрес данного компьютера. например: shutdown /s /t 60 /m \192.168.1.5

Чтоб получить полный список параметров (Ключей)  и описание к ним достаточно в командной строке ввести:
shutdown /?

Краткое описание параметров (ключей):

/r

Перезагрузка удаленного компьютера.

/s

Выход с удаленного компьютера.

/m \Имя_компьютера

Конечный компьютер.

/c «Комментарий «

Позволяет ввести подробный комментарий о причине завершения работы. Можно использовать до 511 знаков. Комментарии должны заключаться в кавычки.

/d [u|p] xx :yy

Список причин перезагрузки или завершения работы системы, где xx — номер основной причины в диапазоне от 0 до 255, а yy — номер дополнительной причины в диапазоне от 0 до 65 535.

/force

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

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

/t ххх

Период времени, равный ххх (в секундах), по истечении которого система выключается или перезагружается. Допустимый диапазон величин от 0 до 600. Время по умолчанию 30. Флаг. Флаг /t можно использовать только при наличии параметра /force.

Для некоторых целей и задач может подойти программа  Wise Auto Shutdown.

Метки: CMDrebootWindowsНастройкаСеть

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

setiwik.ru

Перезагрузка или выключение через командную строку. — Хомячье логово

Содержание:

1. Описание Командной строки.
2. Подача команды через Удаленный стол.
3. Подача команды через Ярлык на Рабочем столе.
4. Справка команды.
5. Оригиналы источников информации.


1. Описание Командной строки.

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

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

2. Подача команды через Удаленный стол.

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

# shutdown /t 0 /r /f

Параметры:

  • /t 0 означает перезагрузка в течении «ноль» секунд,
  • /r перезагрузка, а не выключение (reboot),
  • /f завершает все запущенные приложения (force — форсированное выключение с принудительным завершением программ).

Немедленная перезагрузка через командную строку:

# shutdown /r /t 0

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

# shutdown /s /t 0

Команда shutdown:

# shutdown.exe /r /f /t 20 /c "Без паники компьютер будет перезагружен через 20 секунд"

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

Для этого нужно ввести в командную строку следующую команду:

# shutdown /a

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

3. Подача команды через Ярлык на Рабочем столе.

Кроме этого команду shutdown можно использовать для создания ярлыков. Для этого счелкните правой кнопкой мышки по рабочему столу и выберите пункт «Создать ярлык».

Дальше перед вами откроется окно для создания ярлыков. Введите команду на перезагрузку и нажмите на кнопку «Далее».

В следующем окне введите название ярлыка и нажмите на кнопку «Готово».

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

4. Справка.

# shutdown /?

Использование:

# shutdown [/i | /l | /s | /r | /a] [/f] [/m \\<компьютер>][/t xx] [/c "комментарий"] [/d u|p:xx:yy]

Без аргументов Вывод справки по использованию (как и -?)

  • /i отображение интерфейса, должно быть первым параметре,
  • /l выход (не совместим с параметром -m),
  • /s завершение работы компьютера,
  • /r перезагрузка компьютера,
  • /a прекращение завершения работы системы,
  • /m \\<компьютер> удаленный компьютер, на котором выполняется действие,
  • /t xx таймаут завершения работы xx секунд,
  • /c «comments» комментарий (не более 127 знаков),
  • /f принудительное завершение приложений без предварительного предупреждения,
  • /d [u][p]:xx:yy код причины завершения работы,
  • u пользовательский код,
  • p код запланированного завершения,
  • xx основной код причины (1 — 255),
  • yy дополнительный код причины (1 — 65535).

5. Оригиналы источников информации.

  1. krasgmu.ne «Перезагрузка или выключение Windows через командную строку».
  2. comp-security.net «Перезагрузка или выключение Windows через командную строку».

hamsterden.ru

Как перезагрузить сервер? / Habr

Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.

Новые системы инициализации (собственно, не стесняемся — остался только systemd) дают некий таймаут (обычно 120 или 180 секунд) на сохранение данных, после чего завершают процесс силком. Помимо остановки демонов, отмонтируются файловые системы (то есть скидываются все блочные кеши), останавливаются iscsi target'ы (тоже с скидыванием кеша), и т.д. и т.п. При том, что время шатдауна получается неопределённо долгим, оно всё таки конечно. Плюс, есть хоть какая-то надежда на правильное завершение всех демонов, скидывание файловых кешей и т. д.

Таким образом, на здоровой системе правильный ответ на вопрос «как перезагрузиться» — выполнить команду reboot. В ряде случаев — даже единственный правильный (поправка: если в графическом интерфейсе сделать «reboot», то desktop environment будет думать, что это ребут аварийный — для перезагрузки из графического режима надо использовать «reboot» в интерфейсе DE).

Что может пойти не так при «обычном ребуте»? Ну, во-первых, какой-то из процессов-демонов может начать «тупить» — см выше.

Во-вторых, может возникнуть проблема с отмонтированием файловых систем. Считается, что достаточно «убить» все процессы, и отмонтировать диск будет легко — его же никто не использует. Но, это, мягко говоря, не так. Вот потенциальные методы «прибить fs гвоздями так, чтобы не отмонтировалось:

  • fallocate /fs/swap -l 1G;mkswap /fs/swap; swapon /fs/swap
  • dd if=/dev/sda of=/fs/image; kpartx /fs/image
  • losetup --find --show /fs/image

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

Чем это чревато? Неотмонтированной файловой системой. Systemd в этой ситуации пытается-пытается, да и бросает (неотмонтированную файловую систему). То есть reboot в этой ситуации будет ОЧЕНЬ долгим, но всё-таки пройдёт. Но это если umount вернёт ошибку.

А бывает так, что umount не может завершить операцию из-за того, что что-то не доступно. Например, файл на nfs-сервере. Если какой-то процесс обратится к такому файлу, то его завершить нельзя (даже с помощью kill -9). И в этой ситуации 'reboot' просто завесит сервер. Опять же, наиболее типовые места у systemd „прикрыты“, но вероятность наткнуться на TASK_UNINTERRUPTIBLE ('D' в ps aux) всё равно можно.
Что делать? Можно перезагрузиться без синхронизации файловых систем и завершения чего-либо reboot -f. Но он тоже может повиснуть. Про причины ниже, а пока про последствия: все процессы не остановлены и умирают мгновенно, tcp сессии не закрыты, дисковые кеши не сброшены. Однако, ядро всё-таки выполняет какие-то движения в районе ребута (и, возможно, часть кешей будет сброшена). Главное же — в процессе ребута будет задействована большая часть ядра. И это означает, что если ядру поплохело, то мы можем и не вернуться обратно.

Вторая, крайне неприятная ситуация: проблемы с файловой системой на / (в корне). Любая попытка сделать ls, grep, и даже 'reboot' вызывает либо зависание консоли, либо ошибку. По той же категории проходят проблемы с libc (включая её удаление), когда на попытку 'reboot' говорят о проблеме линковки и отказываются что-то делать. Или, мы достигли лимита на число pid'ов и все они в 'D' стейт. или ещё какая-то гадость того же калибра, идущая по категории „серверу плохо“.

Бывает так, что на сервер осталась открыта только одна консоль (а вторая уже не открывается). Почему? Потому что кто-то что-то подхимичил с драйвером дисков. Или рейд-контроллером. Или ещё чем-то, после чего от '/' остаются только воспоминания в дисковом кеше. Это означает, что у нас есть только команды bash'а (встроенные), которые выполняются без запуска новых процессов.

Существует метод перезагрузки, который не требует выполнения каких-либо исполняемых файлов (т.е. чтения с отсутствующего диска). Это (от рута): echo b >/proc/sysrq-trigger. Файл sysrq-trigger позволяет „нажать“ любую кнопку из SysRq комбинаций (аварийные кнопки ядра). В том числе и SysRq-b, то есть аварийный „reboot“. Часто бывает так, что после нажатия enter даже не успевает появиться перевод строки — сервер уже в ребуте до того, как syscall вернулся. Это самое сильное из софтового, что есть для ребута.
Замечание: кажующееся правильным в этой ситуации „sync, reboot“, т.е. SysRq-s, SysRq-B это ошибка, т.к. после SysRq-S, ядро может попытаться начать общаться с пустым множеством, и, потенциально, упасть в панику или отломать вам последнюю из доступных консолей. Если делается аварийный ребут — он должен быть аварийным


Это всё работает, если у вас есть консоль на сервер. А если логин виснет и открытой консоли нет? Есть модуль ipt_SYSRQ, позволяющий выполнить sysrq запросы по получению определённого сетевого пакета (точнее, по правилу iptables). Работает целиком в ядре, т.е. от FS не зависит. К нему же прилагается команда send_sysrq.

Можно было бы подумать, что на этом „всё“, но бывают ещё более неприятные зависания. Например, зависла сетевая карта. И обычный reboot (в т.ч. через sysrq) не помогает. Вторым примером таких плохой ситуации бывает зависание enclosure, которая залипла на плохом диске и игнорирует все bus reset. Перезагрузка вроде бы всё сбрасывает, а диски недоступны.

В этом случае нам нужен power cycle (включить/выключить). Физически бегать к серверу не интересно, так что можно посмотреть на возможности современных серверов: IPMI. Это встренный микрокомпьютер, позволяющий управлять „большим“ компьютером. Он обычно называется IPMI, DRAC, iLO, etc.

Интресующая нас команда: ipmitool chassis power cycle. Она более требовательна к работоспособности системы (должны быть загружены модули ядра, сам ipmitool должен успешно запуститься, ipmi должен быть рабочим и т.д.). Но зато она позволяет передёрнуть по питанию всех. Точнее, почти всех — если у сервера есть jbod'ы, то до них эта команда не доходит. Но, всё-таки, это очень добротный и хороший ребут.

Если ядру совсем поплохело, то команду можно выполнить и удалённо (ipmitool -H ipmi.server.local chassis power cycle)

Ещё одна сложная ситуация — когда завис ipmi. Если система при этом более-менее жива, то можно „перезагрузить ipmi“: ipmitool mc reboot hard. После этого можно будет сделать power cycle для шасси. Звучит странно, но я несколько раз в жизни „вытаскивал“ сервер в нормальный ребут именно такой последовательностью. (После mc reboot hard надо дать пару минут на загрузку BMC).

Следующая точка „боли“ — это зависающие блоки питания. Да, такое бывает. Баги в прошивке блоков питания исправляют, их нужно прошивать. Разумеется, любые мягкие ребуты (такие как ipmi power cycle) в этой ситуации не работают. Нужно либо физически тыкать кабель, либо передёргивать питание удалённо. В этой ситуации помогает IP-розетка.

Выглядит это примерно так (фрагмент панели управления для servers.com/servers.ru):

Очевидно, в этих условиях ребут пройдёт по очёнь жёсткому сценарию, но точно пройдёт.


Краткая выжимка
Нормальная работа reboot
проблемы с софтом reboot -f
проблемы с ядром/маунтами/libc echo b>/proc/sysrq-trigger
проблемы с ядром/маунтами/libc и нет открытой консоли ipt_SYSRQ (надо подготовить заранее)
проблемы с ядром/железом ipmitool chassis power cycle
проблемы с ядром/железом без открытой консоли ipmitool -H ipmi.server.local chassis power cycle
проблемы с автономной периферией/БП/ipmi ребут через IP-розетку

habr.com

Перезагрузка компьютера из командной строки (cmd) в Windows

Здравствуйте дорогие читатели, сегодня мы разберем работу с командной строкой (cmd) в операционной системе Windows 10 и 7. Командная строка это достаточно удобный способ взаимодействия с операционной системой через прямые команды «от администратора«, которыми в большей степени пользуются программисты и разработчики из-за простоты и оперативности действий.

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

Перезагрузка компьютера через командную строку может понадобиться, когда в системе отсутствует кнопка «Перезагрузить«.

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

Но что делать, если есть необходимость перезагрузки системы, но нет кнопки перезагрузить? Правильно, нужно вызвать командную строку Windows (cmd) и ввести туда определенную команду.

Как вызвать командную строку в Windows 10 и 7?

В семерке, нужно нажать большую кнопку внизу слева на панели задач «Пуск«, в десятке — на значок windows в том же месте.

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

Если у вас англоязычная версия операционной системы, узнать эту программу можно по характерной иконке — буква «C» с двоеточием и косой чертой на черном фоне. Жмем на него в результатах поиска.

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

Кстати, стоит сделать ремарку, по не которым заблуждениям, считается что команды введенные через cmd имеют статус «Администратора» (высший статус пользователя системы для внесения любых изменений на компьютере), но это не так.

Статус команды будет определен статусом пользователя, от имени которого совершаются действия.То есть, если ваш пользователь имеет статус «User«, то команда может и не сработать.

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

Вводим в поиск «cmd» и кликом правой кнопкой мыши вызываем системное меню, в котором выбираем «Запустить от имени администратора«.

Перезагрузка компьютера через командную строку (cmd)

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

Для выключения системы используют команду: «shutdown» — введя её, вы даете указание на выключение своего персонального устройства.

А для перезагрузки системы, используют команду: «shutdown -r» — где значение «-r» говорит о перезагрузке операционной системы.

При запросе о перезагрузки системы, можно указать в секундах, через какое время нужно выполнить команду. На примере указано значение в «300», система интерпретирует их как секунды.

Команда на перезагрузку компьютера через командную строку с отложенным исполнением — «shutdown -r -t (указать цифровое значение в секундах)«.

Все команды исполняются не моментально. Если время на исполнение не было задано дополнительным параметром «-t», то действие будет выполнено ровно через 1 минуту.

У вас будет ровно одна минута, на отмену исполнения данной команды операционной системой. Сделать это можно через обращение в командную строку параметром: «shutdown -a»

Загрузка...

wikifarm.ru


Смотрите также



© 2010- GutenBlog.ru Карта сайта, XML.