2010-10-12 139 views
3

我需要检查服务器是否启动? 如果下来,我需要发送电子邮件 这个任务应该每隔30分钟重复一次。使用批处理文件检查服务器是否启动?

我必须使用批处理文件来做到这一点。

+0

通过“服务器已启动”你的意思是物理或虚拟机启动和响应网络请求或东西其他像Web服务器或应用程序服务器正在运行? – DMKing 2010-10-12 15:53:47

+0

这两件事情。无论是在物理上还是对网络请求做出响应 – Rites 2010-10-12 15:59:53

回答

6

这个批处理文件将为您提供大部分途径。你将不得不使用blat或类似的东西或Windows脚本来发送电子邮件。使用任务计划程序每30分钟调用一次该批处理文件。

checkserver.bat:

@echo off 
ping -n 1 %1 > NUL 
IF ERRORLEVEL 0 (echo "Up -- Don't send email.") ELSE echo "Down -- Send email." 

调用它像这样:

C:\>checkserver 127.0.0.1 
"Up -- Don't send email." 

C:\>checkserver 128.0.0.1 
"Down -- Send email." 
+0

非常感谢。你能建议我以某种方式检查应用程序服务器是否启动。我的意思是检查http请求,如http:// IP:9001? – Rites 2010-10-12 16:45:00

+1

我会用wget。一个很好的Windows版本在这里http://users.ugent.be/~bpuype/wget/#download。它将在成功时返回0,失败时返回其他值。 – DMKing 2010-10-12 18:28:23

0

如果您知道其IP地址,您可以尝试访问其文件系统共享中的一个或ping它。这将是最简单的方法,它们都可以从CMD中完成。

+0

我知道IP,我也可以ping通,但是如何才能知道ping成功? – Rites 2010-10-12 15:59:19

0

要检查服务器是否运行正常,可以使用ping命令。要发送电子邮件,您可以下载电子邮件工具,如blat等。要每30分钟重复一次,请使用任务计划程序进行设置。

+0

如果ping成功了,那么我将如何识别它? – Rites 2010-10-12 16:08:09

+0

ping是否返回一些布尔值的东西? – Rites 2010-10-12 16:08:34

+0

在命令行上手动执行ping命令,然后检查其%errorlevel%。 – ghostdog74 2010-10-12 16:09:28

相关问题