是否可以响应电子邮件通知重新启动计算机?


29

我正在寻找一种在收到电子邮件通知后重新启动计算机的方法。

我要在其上使用的设置是渲染场。我们有5个装有8个Nvidia GTX 980Ti的盒子。他们正在运行Windows 10 Professional 64位。

我们遇到的问题是它们有时在渲染时冻结或“停顿”。我已经设置好了,因此一旦发生这种情况,我会收到一封电子邮件,指出“ x机器已停止”。

我已经使机器上的所有东西都自动化了。他们会自动登录,打开必要的程序,启动与我们的许可证服务器的连接,并映射所有必需的网络驱动器。

基本上,您要做的就是将其关闭然后重新打开,然后它又可以工作了。

因此,我想知道的是,我可以设置一个程序,事件或脚本来在收到电子邮件说机器停止运行后告诉机器重新启动的信息吗?

将要运行此程序的计算机正在运行Windows 7 Pro 64位。


3
您知道什么东西停滞吗?多久?更好的计划可能是使计算机每天重新启动,避免一起停滞
Shaun07776

@ Shaun07776不幸的是,这是一个问题,它是随机的,我已经将日志文件一个接一个地发送到每个我们正在使用的软件供应商来尝试解决此问题的日志文件,到目前为止,我们不知道是什么原因导致的,或者何时出现的发生的原因,这就是为什么我在此过程中要尽我所能来使一切都自动化。
RyanIG '16

23
为什么检测到停顿并发送电子邮件的作业只能重新启动它?为什么电子邮件需要触发?
exussum '16

@exussum我们正在使用的程序称为Deadline 7.2,它的意思是这样做,我已经对其进行了配置,因此软件可以做到这一点,但是由于某些原因它无法正常工作,该程序允许通过Web服务进行python脚本编写,但是我也无法做到这一点。
RyanIG '16

@RyanIG-出于好奇,这是否需要某种特殊的关闭程序,计算机的响应速度不够?
stefgosselin

Answers:


44

您需要一种称为“远程电源开关”的设备,我们在工作场所使用它来远程重启电缆调制解调器的设备是以下UIS-322b:

在此处输入图片说明

您可以使用IP地址对其进行设置,然后登录以打开,关闭电源或对连接的任何设备重新通电,然后按计划进行设置。您无法通过电子邮件来控制它,而是通过Web界面来控制它。您仍然可以通过wgetcurl自动向其发送Web请求来整理内容。它可能具有我不知道的其他功能和控制可能性。

如果您正在运行消耗大量功率的渲染系统,我不确定上面的特定设备是否可以处理它们,但是可能还有其他设备可以使用它们。寻找的另一件事是“可控电源板”。


15
基本上,它会为您远程拔插设备。
LawrenceC

1
还存在设计用于数据中心的类似设备。这些被设计为安装在机架中,并具有更多的输出端口。我所看到的是通过RS-232控制的。这样,您可以将它们连接到具有大量RS-232端口的设备,这样一台设备就可以让您卸下整个机架中所有单个服务器的控制台和远程电源。
kasperd '16

1
一些UPS也可以提供此功能。您可以连接到UPS(通过HTTP或Telnet或制造商发布的软件)以通过电缆(以太网或“串行电缆”)进行连接。具体细节因具体解决方案而异。某些UPS仅在使用单独购买的附加卡(插入UPS中)时才支持此功能。我认为它们比LawrenceC展示的设备贵,因为UPS还具有电池备份的功能。但是,由于包含了额外的有用功能,因此较高的成本是可以接受的。
TOOGAM '16

1
红帽集群套件中有一部分软件称为防护代理,它提供抽象的CLI界面来重启这些设备,包括KVM作为“电源防护”设备。对我有用。
No Username

4
@RyanIG也许您可以设置这些设备之一,以便它们每隔10分钟左右自动执行一次硬重置,除非它们通过以太网获得命令。然后,您可以将计算机连接到自己的电源,并让它们每隔3分钟左右发送一次“ 请勿重新启动我”命令。如果计算机挂起,它将也停止发送命令并进行硬重置。在嵌入式系统中,它基本上就是所谓的“看门狗(计时器)”,它将绕过整个电子邮件通信。
null

33

我可以设置程序,事件或脚本来告诉计算机重新启动吗?

这取决于您的意思:

他们冻结或“停转”

如果远程计算机以需要“硬重置”的方式挂起,则远程重启将无法进行。

话虽如此,您可以shutdown用来远程重启设备。

例:

shutdown /r /f /m \\computer
  • /r -关闭并重新启动计算机。

  • /f -强制关闭正在运行的应用程序而不会警告用户。

  • /m \\computer -指定目标计算机。

收到适当的电子邮件时,可以从Outlook运行上述命令。

以下链接如何:通过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
感谢他们的快速响应!当他们“冻结或失速”时,有时系统完全挂起并且需要硬重启,而其他时候,您可以通过命令行或团队查看器来重启系统。我在弄清楚如何将脚本链接到电子邮件时遇到了麻烦,您是否有任何有关此操作的线索或资源?我们使用的是gmail,但如果需要,我可以通过Outlook运行它。干杯!
RyanIG '16

不用担心,谢谢您的帮助!病不断。
RyanIG '16

@RyanIG方法:在Outlook中通过电子邮件触发应用程序应该为您提供一个起点。答案已更新。
DavidPostill

16

如果您有实际的服务器,则即使计算机的主操作系统完全冻结,它们也可能具有可以连接的远程管理功能。通常,您使用SSH连接到控制器。发出的特定命令取决于服务器的品牌。

对于使用DRAC(戴尔远程访问控制器)的Dell服务器,在SSH进入DRAC之后执行的命令是:

racadm serveraction hardreset

这将执行硬重置,相当于拔出电源线,然后重新启动机器。如果机器没有完全挂起,powercyclehardreset可以代替工作。(来源

HP服务器使用iLO,也可以通过SSH访问。硬重置命令很简单:

reset hard

来源,有关iLO脚本的官方PDF参考。)

您可以使用DavidPostill的答案将接收到的电子邮件连接到执行这些命令。有Windows的SSH客户端。我相信PuTTY具有命令行界面。


我将使用3台Dell Powerblade服务器来对此问题进行研究,但是很快的问题是,它是否必须在域控制器上,或者如果我们有许可证服务器,是否可以在该服务器上进行设置?机器不断连接到两者。感谢您的回答!
RyanIG '16

1
应该可以从同一网络上的任何位置访问DRAC。因此,任何可以接收电子邮件并到达DRAC的计算机都应该能够处理整个系统。
本N

真棒,病了,看着这个,让你知道我过得如何,干杯!
RyanIG '16

13

使用Outlook。

答案底部的链接提供了有助于此答案的信息。向GuidingTech.com致敬

首先创建一个.bat文件。

shutdown.exe /r /t 00

另存为Restart.bat

确保计算机以您收到电子邮件通知的电子邮件身份登录。

如果愿意,可以为每台计算机设置不同的帐户,并设置电子邮件以转发收到的电子邮件作为通知。

例。

Computer1@email.com是带有未渲染图形卡的主机PC。

Testemail.com是您收到通知的电子邮件。

收到电子邮件后,您的Outlook会自动将其转发回相应的电子邮件。在这种情况下是Computer1@gmail.com

然后,通过Testemail@email.com收到Computer1@email.com,然后将该电子邮件转发给所有计算机。

这里的技巧是为每台计算机设置不同的通知电子邮件,以便它知道要关闭哪台计算机。

对于“设置转发规则”,请按照以下说明进行操作,并根据要重新启动的PC在主题中输入单词。

注意:这是为了设置您的计算机,接下来您将收到电子邮件,我们将设置各个PC。

步骤1.现在打开MS Outlook。在首页标签下,转到规则,然后展开>菜单。选择管理规则和警报。 在此处输入图片说明

步骤2.在“规则和警报”窗口的“电子邮件”>“规则”选项卡下,单击“新建规则”。 在此处输入图片说明

步骤3.首先,选择模板作为对我>收到的邮件应用规则。单击下一步。 在此处输入图片说明

第4步。再次,我们需要指定要在接收端使用的规则,这将是转发电子邮件的计算机。这将是重新启动您指定的计算机的规则。

A.在主题中使用特定词-另一个限制,以便更好地识别>接收电子邮件。

B.体内有特定的单词-有时,只有主题可能是含糊的。因此,身体使其更加精致。

选择它们,然后单击下一步。

在此处输入图片说明

现在,指定要让电子邮件查找以触发重新启动的内容。

选择主题的示例。

说您选择的词是Computer1-RenderIssue

您将在“指定要在主题中搜索的单词或短语”中键入

现在,您已经设置了执行最后一步的时间。

步骤5.接下来是收到电子邮件且所有条件均匹配时要应用的操作。选择启动应用程序并将其删除。 在此处输入图片说明

**注意:**如果不删除它。如果重新启动计算机,则如果Outlook打开,它将循环运行。

步骤5a要启动应用程序操作,请单击链接并选择您创建的文件Restart.bat。单击“下一步”。

步骤5b单击“ *是否有例外?”下的下一步。

步骤6为规则命名,以备将来参考,将其打开,然后单击>“完成”。

现在,只要您的一台计算机在呈现电子邮件时出现问题,就会将“指定的计算机”发送给您。这会将电子邮件转发到该计算机,然后重新启动计算机。

希望这可以帮助。尝试尽我所能来格式化它。

这里的一些工作参考


好吧大卫,我明白了你的意思了。
NetworkKingPin

2
那好多了;)
DavidPostill

6

老实说,如果您只想(硬)弹起一个盒子,最简单的方法是“按一下重置开关”。

由于您需要进行HARD重置,因此您可能会在高压端上乱糟糟(风险较大),也可能在主板上这样做。

一些高端主板具有用于弹跳PC的内置网卡/控制器。但是,您也可以将复位开关连接到继电器板上,并使用单独的机器进行控制。

我建议通过GPIO将Raspberry Pi连接到中继板上。然后将每个继电器连接到主板上的重置开关。

树莓派2

树莓派中继HAT


3

您是否考虑过将服务器作为客户端在虚拟机上运行?您将在物理服务器上运行VM软件(VMware,VirtualBox),然后以呈现软件为客户端运行虚拟机。在计算机上不进行其他任何处理的情况下,您应该获得可比的性能,并且停止和重新启动虚拟机要比物理虚拟机容易。


3
我知道您使用虚拟机概念的去向,但是您对可比性能的陈述没有多大意义。
双关语2016年

为何如此?基本上,您只是将一台物理服务器与VM封装在一起,并在同一硬件上运行它。并不是您要运行多个VM。根据2009年的这篇论文, “如果您使用的是今年的VMware或Xen技术,Intel Nehalems和Shanghai Opterons以及新的I / O适配器,那么虚拟化将大大打击性能问题。” 从那以后,我不认为虚拟化会倒退很多。
TMN 2016年

1
忘了提一下:这是一个渲染场,因此大部分工作都由图形卡完成,并且在VM中运行主机不会降低其性能。
TMN 2016年

1
VM对GPU的访问可能很棘手(非常特定于VM,非常特定于卡,如果完全支持的话),因此请验证它是否适合您。
toddkaufmann

1

我建议您调查一下这些机器的主板上是否装有看门狗定时器。我相信这些至少在英特尔芯片组中相当普遍。如果存在看门狗硬件,则找到合适的Windows软件来设置计时器,并在机器未冻结的情况下定期重置计时器。如果机器死机,该软件将无法再重置计时器,看门狗将重置机器。那至少应该解决硬系统死机的问题。

根据软件的不同,您也许可以为计时器重置添加其他要求,例如网络连接,渲染过程仍在运行,渲染过程自上次重置计时器以来取得了一些进步或类似要求。我不知道Windows上的可用软件,到目前为止,我只在Linux上使用看门狗


-1

这里介绍一种创造性的解决方案

男孩们通过2台PC互相对立站立,解决了类似的问题。收到电子邮件时,计算机打开(然后关闭)CD拖车,因此按了另一台PC上的重置按钮。

当然,您还可以使用其他任何能够发出信号的信号,并可以在其中来回移动任何部分(例如,伺服连接到某物-旧PC的并行端口,Rapsberry的GPIO或Arduino,或者您拥有的任何其他东西)


1
阅读有趣,但请在帖子中包含重要内容-答案应尽可能独立。
本N
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.