2020-10-02Linux shell判断url是否能访问,定时访问网站如果有问题就重启,懒得去查故障

#网站守护
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的命令

猜你喜欢

转载自blog.csdn.net/chenhao0568/article/details/108899849