#網站守護
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的命令