2013-11-14 shell脚本练习题

回复 收藏
服务器上跑的是LNMP环境,近期总是有502现象。502为网站访问的状态码,200正常,502错误是nginx最为普通的错误状态码。由于502只是暂时的,并且只要一重启php-fpm服务则502消失,但不重启的话,则会一直持续很长时间。所以有必要写一个监控脚本,监控访问日志的状态码,一旦发生502,则自动重启一下php-fpm。

我们设定:
1. access_log  /data1/log/access.log
2. 脚本死循环,每10s检测一次
3. 重启php-fpm的方法是  /etc/init.d/php-fpm restart

参考脚本:
{{{密码回复可见}}}
2013-11-14 12:15 举报
已邀请:
0

a_leon

赞同来自:

  1. #!/bin/bash
  2. while :;do
  3.         a=awk -F ' ' '{print $9}' /usr/local/nginx/logs/access.log|tail -1
  4.         if [a=502];then
  5.          /etc/init.d/php-fpm restart
  6.         fi
  7.         sleep 10
  8. done
0

wy1028

赞同来自:

{:4_91:}
0

riverxyz

赞同来自:

自己写的有问题,看答案
0

huanglin

赞同来自:

练习看看
0

十月鱼

赞同来自:

#!/bin/bash
##by xingcheng
##2016/8/20
while :;
do
I=`awk '{print $6}' /data1/log/access.log |grep 502 |head -1`
if [ $I -eq 502 ]
then
/etc/init.d/php-fpm restart
> /data1/log/access.log
fi
sleep 10
done

测试脚本
#!/bin/bash
##by xingcheng
##2016/8/20
while :;
do
I=`awk '{print $6}' /tmp/access.log |grep 200 |head -1`
if [ $I -eq 200 ]
then
/etc/init.d/php-fpm restart
> /tmp/access.log
fi
sleep 10
done
0

小三终输小四

赞同来自:

学习!
0

linuxcp

赞同来自:

{:4_91:}
0

凌乱

赞同来自:

#使用两个echo是为了测试时报个信。这里检测发现5个502才重启,没有5次502才算正常不做重启。while :;do    tail -n5 /tmp/access.log | grep 502 &> /dev/null    if [ $? -ne 0 ];then        echo "this php-fpm is ok"    else        echo "this php-fpm is error,we must restart"        /etc/init.d/php-fpm restart &> /dev/null    fi    sleep 10done

0

有人喜欢蓝

赞同来自:

这酸爽

0

kw是id

赞同来自:

#!/bin/bash
while :
do
  n=`cat /data1/log/access.log |grep -c 502`
  if [ $n -gt 0 ]
  then
    /etc/init.d/php-fpm restart
  fi
  sleep 10
done

0

ichbinww

赞同来自:

学习

0

重庆-刘鹏

赞同来自:

学习

0

qwlp19910807

赞同来自:

学习一下

0

nmzhaoliming

赞同来自:

学习

0

Ject1992he - linux学习

赞同来自:

学习

0

Youcan

赞同来自:

学习

0

sun330

赞同来自:

查看答案

0

dongdongchen

赞同来自:

看看

0

大雁

赞同来自:

log=/data1/log/access.log

pfm=/etc/init.d/php-fpm

while :

do

  /bin/tail -n1 $log|/bin/grep -q "502"

  if [ $? -eq 0 ]

  then

    $pfm restart

  fi

sleep 10

done

~

0

肖永安

赞同来自:

1

0

成成

赞同来自:

学习        

0

失落的乐章

赞同来自:

学习

0

杨银根

赞同来自:

看看

0

fy88fy

赞同来自:

学习!

0

w_kb

赞同来自:

看看

0

jadga1126

赞同来自:

学习下

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: