Можно ли перезагрузить компьютер в ответ на уведомление по электронной почте?

29

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

Настройка, на которой я хочу использовать это ферма рендеринга. У нас есть 5 коробок с 8 Nvidia GTX 980Ti в них. Они работают под управлением Windows 10 Professional 64-bit.

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

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

В общем, все, что вам нужно сделать, это выключить и снова включить, и он снова работает.

Так что мне интересно, могу ли я установить программу, событие или сценарий, который сообщит компьютерам о перезагрузке после того, как я получу электронное письмо с сообщением о том, что машина зависла?

На машине, которая будет работать на этом компьютере, установлена ​​Windows 7 Pro 64-bit.

RyanIG
источник
3
Знаете ли вы, что останавливается и как часто? Лучше, возможно, сделать так, чтобы компьютер ежедневно перезагружался, избегая
срывов в работе
@ Shaun07776 К сожалению, это проблема, она случайная, я отправил файл журнала после файла журнала каждому поставщику программного обеспечения, которого мы используем, пытаясь решить эту проблему, на данный момент мы не знаем, что их вызывает, или когда они случиться, поэтому я пытаюсь автоматизировать все, что могу, пока мы не выясним это.
RyanIG
23
Почему нельзя перезапустить работу, которая обнаруживает срыв и отправляет электронное письмо? Почему электронная почта должна быть триггером?
Exussum
@exussum Программа, которую мы используем, называется Calline Deadline 7.2, она предназначена для этого, я настроил ее так, чтобы это делало программное обеспечение, но по какой-то причине оно не работает, программа позволяет создавать скрипты на python через веб-сервис, но я не могу заставить это сделать много.
RyanIG
@RyanIG - Просто из любопытства, нужна ли какая-то особая процедура выключения, машина недостаточно отзывчива?
stefgosselin

Ответы:

44

Вы хотите устройство под названием «Remote Power Switch», которое мы использовали на моем рабочем месте для удаленного перезапуска кабельных модемов, UIS-322b ниже:

введите описание изображения здесь

Вы можете настроить его с помощью IP-адреса, а затем войти в него, чтобы включить, выключить или выключить или выключить любое из подключенных устройств и настроить его по расписанию. Вы не можете управлять им по электронной почте, но через веб-интерфейс. Вы все еще можете настроить что-либо с помощью wgetили curlавтоматически отправить веб-запрос. У него могут быть другие функции и возможности управления, о которых я не знаю.

Если вы используете системы рендеринга, которые потребляют много энергии, я не уверен, что конкретное устройство с ними справится, но могут быть и другие. Еще одна вещь, которую нужно искать - это «Controllable Power Strip».

LawrenceC
источник
15
Это в основном remotelu отключает и вставляет в устройство для вас.
LawrenceC
1
Существуют также подобные устройства, предназначенные для использования в центрах обработки данных. Они предназначены для установки в стойку и имеют намного больше выходных портов. Те, кого я видел, контролировались через RS-232. Таким образом, вы можете подключить их к устройству с большим количеством портов RS-232, так что это одно устройство позволит вам отключить консоль и удаленное отключение питания всех отдельных серверов во всей стойке.
Касперд
1
Некоторые ИБП также могут предоставить эту функцию. Вы можете подключиться к ИБП (через HTTP, Telnet или программное обеспечение, выпущенное производителем) для подключения через кабель (Ethernet или «последовательный кабель»). Конкретные детали варьируются в зависимости от индивидуальных решений. Некоторые ИБП поддерживают это только при использовании дополнительной карты (вставленной в ИБП), приобретаемой отдельно. Я предполагаю, что они дороже, чем устройство, которое показывает LawrenceC, потому что ИБП также обеспечивают функцию резервного копирования от батареи. Тем не менее, более высокая стоимость может быть приемлемой из-за включения дополнительной полезной функции.
ТООГАМ
1
Существует программное обеспечение, входящее в состав Red Hat Cluster Suite, называемое агентами ограждения, которое предоставляет абстрактный интерфейс CLI для перезапуска этих устройств, включая KVM в качестве устройства «ограждения питания». Это было полезно для меня.
Без имени пользователя
4
@RyanIG Возможно, вы можете настроить одно из этих устройств так, чтобы они выполняли полный сброс автоматически каждые 10 минут или около того, если они не получают команду через Ethernet. Затем вы можете подключить компьютеры к собственному источнику питания и позволить им отправлять команду « не перезагружать меня» каждые 3 минуты или около того. Если компьютер зависает, он также прекратит посылать команду и получит полный сброс. Это в основном то, что называется «сторожем (таймер)» во встроенных системах, и это обойдёт всю электронную почту.
ноль
33

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

Это зависит от того, что вы подразумеваете под:

они замерзают или "глохнут"

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

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

Пример:

shutdown /r /f /m \\computer
  • /r - Выключите и перезагрузите компьютер.

  • /f - Принудительно закрывать запущенные приложения без предупреждения пользователей.

  • /m \\computer - Укажите целевой компьютер.

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

Следующая ссылка How To: Запуск приложения по электронной почте в Outlook должен помочь вам начать работу.


shutdown использование

F:\test>shutdown /?
Usage: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
    [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

    No args    Display help. This is the same as typing /?.
    /?         Display help. This is the same as not typing any options.
    /i         Display the graphical user interface (GUI).
               This must be the first option.
    /l         Log off. This cannot be used with /m or /d options.
    /s         Shutdown the computer.
    /r         Shutdown and restart the computer.
    /g         Shutdown and restart the computer. After the system is
               rebooted, restart any registered applications.
    /a         Abort a system shutdown.
               This can only be used during the time-out period.
    /p         Turn off the local computer with no time-out or warning.
               Can be used with /d and /f options.
    /h         Hibernate the local computer.
               Can be used with the /f option.
    /e         Document the reason for an unexpected shutdown of a computer.
    /m \\computer Specify the target computer.
    /t xxx     Set the time-out period before shutdown to xxx seconds.
               The valid range is 0-315360000 (10 years), with a default of 30.
               If the timeout period is greater than 0, the /f parameter is
               implied.
    /c "comment" Comment on the reason for the restart or shutdown.
               Maximum of 512 characters allowed.
    /f         Force running applications to close without forewarning users.
               The /f parameter is implied when a value greater than 0 is
               specified for the /t parameter.
    /d [p|u:]xx:yy  Provide the reason for the restart or shutdown.
               p indicates that the restart or shutdown is planned.
               u indicates that the reason is user defined.
               If neither p nor u is specified the restart or shutdown is
               unplanned.
               xx is the major reason number (positive integer less than 256).
               yy is the minor reason number (positive integer less than 65536).

Дальнейшее чтение

ДэвидПостилл
источник
2
Спасибо за быстрый ответ! Когда они «замирают» или «зависают», иногда система полностью зависает и требует полной перезагрузки, в других случаях вы можете избежать перезагрузки через командную строку или через Team-Viewer. эта проблема у меня с выяснением, как связать сценарии с электронной почтой, есть ли у вас какие-либо темы или ресурсы о том, как это сделать? Мы используем Gmail, но я могу запустить его через Outlook, если потребуется. ура!
RyanIG
Не беспокойтесь, спасибо за помощь в любом случае! я продолжаю копать
RyanIG
@RyanIG How To: Запуск приложения по электронной почте в Outlook должен дать вам отправную точку. Ответ обновлен.
DavidPostill
16

Если у вас есть реальные серверы , они, вероятно, имеют функцию удаленного управления, к которой можно подключиться, даже если основная ОС машины полностью заморожена. Как правило, вы используете SSH для подключения к контроллеру. Конкретная команда зависит от марки вашего сервера.

Для серверов Dell, которые используют DRAC (контроллер удаленного доступа Dell), команда для выполнения после SSH в DRAC:

racadm serveraction hardreset

Это выполнит полный сброс, что эквивалентно выдергиванию шнура питания и перезагрузке машины. Если машина не полностью зависла, powercycleвместо того, hardresetчтобы сделать работу. ( Источник. )

Серверы HP используют iLO, который также доступен через SSH. Команда аппаратного сброса просто:

reset hard

( Источник , официальная PDF-ссылка на скрипты iLO.)

Вы можете связать полученную электронную почту с выполнением этих команд с ответом DavidPostill. Есть клиенты SSH для Windows; Я считаю, что PuTTY имеет интерфейс командной строки.

Бен Н
источник
Я хотел бы взглянуть на это, поскольку мы используем 3 PowerBlade сервера Dell, быстрый вопрос, хотя, должно ли это быть на контроллере домена или если у нас был сервер лицензий, может ли он быть настроен на этом? машины постоянно подключены к обоим. Спасибо за Ваш ответ!
RyanIG
1
DRAC должен быть доступен из любого места в той же сети. Поэтому любой компьютер, который может получать электронную почту и достигать DRAC, должен иметь возможность обрабатывать всю систему.
Бен N
Потрясающе, плохо смотрю на это и дам знать, как у меня дела, ура!
RyanIG
13

Используйте Outlook.

Ссылка внизу ответа содержит информацию, которая помогла с этим ответом. Слава GuidingTech.com

Сначала создайте файл .bat.

shutdown.exe /r /t 00

Сохранить как Restart.bat

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

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

Пример.

Computer1@email.com - хост-компьютер с графической картой, которая не выполняет рендеринг.

Testemail.com - это ваша электронная почта, на которую вы получаете уведомления.

Когда электронное письмо получено, ваш Outlook автоматически пересылает электронное письмо обратно на соответствующее электронное письмо. который в этом случае Computer1@gmail.com

Computer1@email.com, полученный на Testemail@email.com, затем отправьте это электронное письмо на все компьютеры.

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

Для настройки правила пересылки следуйте этим инструкциям и введите слово в теме в зависимости от компьютера, который вы хотите перезагрузить.

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

Шаг 1. Теперь откройте MS Outlook. На вкладке «Главная» перейдите в «Правила» и разверните меню «>». Выберите Управление правилами и оповещениями. введите описание изображения здесь

Шаг 2. В окне «Правила и оповещения» выберите «Новое правило» на вкладке «Электронная почта> Правила». введите описание изображения здесь

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

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

A. С конкретными словами в теме - еще одно ограничение, чтобы> получать электронную почту было лучше идентифицировано.

Б. С определенными словами в теле - Иногда, только предмет может быть> двусмысленным. Таким образом, тело делает его более изысканным.

Выберите их и нажмите «Далее».

введите описание изображения здесь

Теперь укажите, что вы хотите, чтобы электронная почта искала, чтобы вызвать Перезапуск.

Пример, если вы выбираете тему.

Скажите, что вы выбираете слово Computer1-RenderIssue

Вы напечатаете это в поле «Укажите слова или фразы для поиска в подразделе»

Теперь, когда у вас есть настройки, пришло время сделать последний шаг.

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

** Примечание: ** Если вы не удалите его. Если компьютер будет перезагружен, если откроется Outlook, он будет зациклен.

Шаг 5а. Для запуска действия приложения нажмите на ссылку и выберите файл, который вы создали. Restart.bat Нажмите «Далее».

Шаг 5б. Нажмите « *». Есть ли исключения?

Шаг 6 Дайте правилу имя для будущих ссылок, включите его и нажмите> Готово.

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

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

Ссылка на некоторые работы здесь

NetworkKingPin
источник
Хорошо, Дэвид, я понял, что ты имел в виду, теперь позаботился.
NetworkKingPin
2
Это намного лучше;)
DavidPostill
6

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

Так как вам нужно сделать сброс HARD, вы можете либо возиться на стороне высокого напряжения (довольно рискованно), либо сделать это на материнской плате.

Некоторые высококачественные материнские платы имеют встроенную сетевую карту / контроллер для подпрыгивания ПК. Однако вы также можете подключить переключатель сброса к плате реле и управлять им, используя отдельную машину.

Я бы посоветовал подключить Raspberry Pi через GPIO к плате реле. Затем подключите каждое реле к переключателю сброса на материнских платах.

Raspberry Pi 2

Raspberry Pi Relay HAT

Aron
источник
3

Рассматривали ли вы запуск вашего сервера в качестве клиента на виртуальной машине? Вы запускаете программное обеспечение для виртуальных машин (VMware, VirtualBox) на физическом сервере, а затем запускаете виртуальную машину с программным обеспечением для рендеринга в качестве клиента. Если на компьютере не выполняется никакая другая обработка, вы должны получить сопоставимую производительность, и было бы легче остановить и перезапустить виртуальную машину, чем физическую.

TMN
источник
3
Я знаю, куда вы идете с концепцией виртуальной машины, но ваше утверждение о сопоставимой производительности не имеет особого смысла.
Пун
Как же так? Вы просто оборачиваете физический сервер виртуальной машиной и запускаете его на том же оборудовании. Вы не пытаетесь запустить несколько виртуальных машин. Согласно этой статье за ​​2009 год, «если вы используете технологии VMware или Xen этого года, Intel Nehalems и Shanghai Opteron, а также новые адаптеры ввода-вывода - виртуализация в большинстве своем имеет проблемы с производительностью». Я не думаю, что с тех пор виртуализация сильно отступила.
TMN
1
Забыл упомянуть: это ферма рендеринга, поэтому большую часть работы выполняют графические карты, и их производительность не будет ухудшаться при запуске хоста в виртуальной машине.
TMN
1
Доступ виртуальных машин к графическим процессорам может быть сложным (очень специфичным для виртуальной машины, очень специфичным для карты, если поддерживается вообще), поэтому убедитесь, что он работает для вас.
toddkaufmann
1

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

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

MVG
источник
-1

Одно креативное решение описано здесь

Ребята решили аналогичную задачу двумя ПК, стоящими друг против друга. Когда пришло электронное письмо, компьютер открыл (а затем закрыл) трейлер компакт-диска, поэтому он нажал кнопку сброса на другом ПК.

Конечно, вы можете использовать что-нибудь другое, что может сигнализировать и перемещать любую часть туда и обратно (например, сервопривод, подключенный к чему-либо - параллельный порт старого ПК, GPIO от Rapsberry или Arduino, или просто все, что у вас есть).

gilhad
источник
1
Приятного чтения, но, пожалуйста, включите в свой пост важные части - ответы должны быть как можно более самостоятельными.
Бен N