使用批处理文件检查服务器是否已启动?

时间:2010-10-12 15:49:31

标签: windows batch-file scheduled-tasks

我需要检查服务器是否启动? 如果失败,我需要发送电子邮件 这个任务应该每隔30分钟重复一次。

我必须使用批处理文件来执行此操作。

4 个答案:

答案 0 :(得分:7)

这个批处理文件可以帮助你完成大部分工作。您将不得不使用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."

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

您可以检查机器是否回复ping。但是,由于Windows上的ping不会返回有用的%errorlevel%,因此您需要通过find通过管道传递其输出。

示例:

ping -4 -n 2 YourIPorHostname | find "TTL=" >NUL && echo OK

ping -4 -n 2 YourIPorHostname | find "TTL=" >NUL || echo No reply

要发送电子邮件,您需要一些其他程序。

(如果您的网络上也有一台Unix计算机,那么从那里开始,整个事情会容易得多,因为“ crontab”调度程序会自动发送电子邮件)