1. 程式人生 > >windows系統環境下,讓tomcat自動重啟的指令碼

windows系統環境下,讓tomcat自動重啟的指令碼

如果你使用的是Windows系統,並且想讓tomcat掛掉之後自動重啟的話,可以直接複製下面的程式碼,然後儲存到一個文字檔案中,然後將字尾名命名為.vbs,再然後雙擊執行即可。如:tomcat自動重啟指令碼.vbs

這裡稍微解釋一下,幾點值得注意的內容:

       1.檢查tomcat是否掛掉的訪問路徑,即下面程式碼中的:http://xxxxx(指定一個專案的訪問路徑,可以是網站首頁等)?a=" & now

       為什麼後面要加一個引數a呢?而引數的值為now呢?在vbs中,now是代表當今時間的一個變數,而我們每一次去訪問那個路徑,檢查tomcat是否掛掉的時候,帶上一個引數,而引數的值為當前的時間,就可以避免快取問題,達到每一次訪問的路徑都是一個新的路徑。

        2.WshShell.Run("startup.bat")  是執行一個叫startup的bat檔案,其實就是執行一個Windows的批處理,而我這個指令碼是放在tomcat的startup.bat檔案同級目錄的,所以這裡直接寫WshShell.Run("startup.bat") 就可以了,你可以根據自己的需求,改一下里面的路徑即可。

on   error   resume   Next       

Dim   a

a   =   True    

set   WshShell   =   WScript.CreateObject("WScript.Shell") 

set fso=createobject("scripting.filesystemobject")

Do   While   a     

set   http   =   CreateObject("Microsoft.XMLHTTP")      

http.open   "GET","http://xxxxx(指定一個專案的訪問路徑,可以是網站首頁等)?a=" & now,false 

http.send       

if   http.Status <> 200   Then  

WshShell.Run("shutdown.bat")     

WScript.Sleep(10000)          

WshShell.Run("startup.bat")  

if (fso.fileexists("C:\Users\iteam\Desktop\tomcat重啟記錄檔案.txt")) then
'開啟檔案,引數1為forreading,2為forwriting,8為appending
set file=fso.opentextfile("C:\xxxx.txt",8,true)
file.writeline "tomcat在" 
file.writeline now
file.writeline "自動重啟了一次" 
ts.writeblanklines 2 
file.close   
else
'建立檔案,引數1為forreading,2為forwriting,8為appending
set file=fso.createtextfile( "C:\xxxx.txt",2,ture)

'寫入檔案內容,有三種方法:write(x)寫入x個字元,writeline寫入換行,writeblanklines(n)寫入n個空行
file.writeline "tomcat在" 
file.writeline now
file.writeline "自動重啟了一次" 
file.writeblanklines 2 
file.close   
end if      
end if 
WScript.Sleep(30000)  

loop