Shell 脚本请求 URL判断状态码是否异常并执行相关操作。
示例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/bin/bash
fileurl='./check_url.txt'
DATE_N=`date "+%Y-%m-%d %H:%M:%S"`
for chkurl in $(cat ${fileurl}) # ${}忽略空格
do
# -o 输出内容到/dev/null; -s 静默方式 ;-w 定义显示输出格式;"%{http_code}" 在最后被检索的 HTTP(S) 页中被找到的数字的代码
HTTP_CODE=`curl -o /dev/null -s --head -w "%{http_code}" "${chkurl}"`
if [ ${HTTP_CODE} -ne 200 ]
then
if [ ${HTTP_CODE} == 404 ]
then
echo -e "[${DATE_N}]error-${HTTP_CODE}:" $chkurl >> check-result.txt
sh /usr/local/bin/restart_php_mysql.sh >> check-result.txt
fi
echo -e "[${DATE_N}]error-${HTTP_CODE}:" $chkurl >> check-result.txt
else
echo -e [${DATE_N}]${HTTP_CODE}: $chkurl >> check-result.txt
fi
done
|
放到 crontab 中每隔 5 分钟检测一次。