windows下bat腳本自動重啓Apache服務

問題描述

客戶使用的集成環境phpstudy,上面運行的是php+apahce+mysql,經常無故apache異常導致網站無法打開,需要重啓apache服務恢復。由於不方便變更基礎環境,故考慮使用bat腳本自動檢測網站是否正常判斷是否需要重啓apache服務。

準備工作
1、由於藉助curl命令測試網站是否正常,需提前安裝配置好curl命令。
https://curl.haxx.se/download.html#Win64
下載對應的版本安裝,並配置好環境變量。(在cmd中能使用curl命令)
2、最好將apache註冊爲系統服務,這樣方便使用net重啓服務。否則就要指定目錄去重啓。(註冊系統服務推薦使用nssm)
註冊系統服務
# 如果已是系統服務跳過此步驟,比如phpstudy上可註冊爲系統服務
1、下載,解壓安裝
官網:http://nssm.cc/download
根據操作系統選擇32位或64位nssm,在該目錄啓動命令行窗口,建議寫入path環境變量
2、服務註冊(此處是之前註冊logstash的截圖)
nssm install logstash
接下來會彈出一個框,在path處選擇啓動logstash的start.bat
點擊Install service即可
填寫應用程序的對應路徑、設置Service name。
最後單擊install service按鈕,執行安裝。

windows下bat腳本自動重啓Apache服務

編寫腳本
::Auto restart apache
@echo off
set url=http://www.gc1999.com
echo %url%
for /f %%z in ('curl -so /dev/null -w %%{http_code} %url%') do (
set result=%%z
echo %%z
)
if %result% NEQ 200 (
::echo %date%%time% %url% 無法打開 錯誤代碼 %result% >>C:\log\%date:~0,4%%date:~5,2%%date:~8,2%ERROR.log
net stop apache2a
net start apache2a
) else (
::echo %date%%time% %url% 網頁可以打開 代碼 %result% >>C:\log\%date:~0,4%%date:~5,2%%date:~8,2%SUCCESS.log
echo %date%%time% %url% 網頁可以打開 代碼 %result%
)
設置任務計劃定期執行

自定義任務計劃,重複執行檢測
windows下bat腳本自動重啓Apache服務
windows下bat腳本自動重啓Apache服務
windows下bat腳本自動重啓Apache服務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章