2010-10-12 147 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

相關問題