这篇文章主要介绍了一个监控Squid运行进程数并自动重启的简洁Shell脚本分享,本文直接给出实现代码,需要的朋友可以参考下

#!/bin/sh
while sleep 30
do
SquidNum=`ps -ef|grep squid|grep -v grep|wc -l`
#HttpNum=`netstat -an|grep 0.0.0.0:80|grep -v grep|wc -l` #80状态
if [ $SquidNum != 3 ] ; then
/etc/rc3.duid start
adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`
echo "$adddate squid started!" >> /home/resquid.log
fi
#超过5000个http请求就重启squid服务
HttpNum=`netstat -an|grep 80|grep -v grep|wc -l`
if [ $HttpNum -gt 5000 ] ; then
/etc/rc3.duid restart
adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`
echo "$adddate http out 5000 squid started!" >> /home/resquid.log
fi
done