2020-10-02Linux shell判斷url是否能存取,定時存取網站如果有問題就重新啟動,懶得去查故障

2020-10-03 12:01:47
#網站守護
testurl='http://wjsou.com'
status=$(curl -s -m 5 -IL $testurl|grep 200)
if [ "$status" == "" ]
then
	echo $(date)$testurl' is OFF'>>/root/log_wjsou_off.txt
	reboot
fi

#採集程序守護
rownum=$(jps |grep BaiduEngine4 |wc -l)
if [ $rownum != 1 ]
then
	echo $(date)"BaiduEngine4 $rownum">>/root/log_wjsou_off.txt
	kill -9 `jps | grep BaiduEngine4 | awk '{print $1}'`
	rm -rf /root/Myfile.txt
	nohup java -jar /root/BaiduEngine4.jar >/dev/null 2>&1 &
fi

curl -s -m 5 -IL 'http://www.baidu.com'|grep 200
-s    靜默模式,進度條和錯誤資訊都不顯示。
-m    max-time,本次請求的最長時間。5秒。
-I    curl只判斷response頭資訊的引數
-L    允許跳轉
|grep    在一個命令的輸出中是否包含某個字串。 比如ls |grep 200用來搜尋 ls 命令執行後的輸出中,是否包含200

 

|awk '{print $1}'以空白分bai割,顯示文字的第1段內容
|wc -l    只輸出檔案或內容行數
|grep -v    排除某些欄位。比如cat test.log | grep "login"|grep -v "deviceType" 找出test.log中包含login資訊的,且沒有deviceType這個欄位的
|grep -w    全字匹配

jps(Java Virtual Machine Process Status Tool)是java提供的一個顯示當前所有java程序pid的命令