如果你使用的是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