监控Squid运行脚本

简介:
  因squid对多核服务器支持不够理想,所以在每台freebsd服务器上(4核)开启了3个squid
 
 
平稳的运行了一段时间,有一天客服反映网页无法打开,然后就对每台squid服务器进行检查,发现有台服务器其中的一个squid进程死掉了,重新启动该squid,一切正常,为了及时发现squid进程故障并重启squid,特写了以下脚本
 
定时器,每过10分钟检查一次,无限循环
vi /root/restart_squid.sh
#!/bin/sh
while true    
do
Squid1_IP=`awk '/ifconfig_lo0_alias0/{print 2}' /etc/rc.conf`  Squid1Num=`netstat -an | grep -c2}' /etc/rc.conf`  Squid1Num=`netstat -an | grep -cSquid1_IP`       
if [ Squid1Numlt10];then/usr/local/etc/rc.d/squid1start/usr/local/etc/rc.d/squid1restartadddate=date+adddate squid_1 started" >> /var/restart_squid.log    
fi
Squid2_IP=`awk '/ifconfig_lo0_alias1/{print 2}' /etc/rc.conf`  Squid2Num=`netstat -an | grep -cSquid2_IP`       
if [ Squid2Numlt10];then/usr/local/etc/rc.d/squid2start/usr/local/etc/rc.d/squid2restartadddate=date+adddate squid_2 started" >> /var/restart_squid.log    
fi
Squid3_IP=`awk '/ifconfig_lo0_alias2/{print 2}' /etc/rc.conf`  Squid3Num=`netstat -an | grep -cSquid3_IP`       
if [ Squid3Numlt10];then/usr/local/etc/rc.d/squid3start/usr/local/etc/rc.d/squid3restartadddate=date+adddate squid_3 started" >> /var/restart_squid.log    
fi
sleep 10m
done
 
chmod +x /root/restart_squid.sh
/root/restart_squid.sh
 
也可以用计划任务来实现
vi /root/restart_squid.sh
#!/bin/sh
Squid1_IP=`awk '/ifconfig_lo0_alias0/{print 2}' /etc/rc.conf`  Squid1Num=`netstat -an | grep -cSquid1_IP`       
if [ Squid1Numlt10];then/usr/local/etc/rc.d/squid1start/usr/local/etc/rc.d/squid1restartadddate=date+adddate squid_1 started" >> /var/restart_squid.log    
fi
Squid2_IP=`awk '/ifconfig_lo0_alias1/{print 2}' /etc/rc.conf`  Squid2Num=`netstat -an | grep -cSquid2_IP`       
if [ Squid2Numlt10];then/usr/local/etc/rc.d/squid2start/usr/local/etc/rc.d/squid2restartadddate=date+adddate squid_2 started" >> /var/restart_squid.log    
fi
Squid3_IP=`awk '/ifconfig_lo0_alias2/{print 2}' /etc/rc.conf`  Squid3Num=`netstat -an | grep -cSquid3_IP`       
if [ Squid3Numlt10];then/usr/local/etc/rc.d/squid3start/usr/local/etc/rc.d/squid3restartadddate=date+adddate squid_3 started" >> /var/restart_squid.log    
fi
chmod +x /root/restart_squid.sh
crontab -e
*/10 * * * * root /root/restart_squid.sh


本文转自king_819 51CTO博客,原文链接:http://blog.51cto.com/kerry/291714,如需转载请自行联系原作者
目录
打赏
0
0
0
0
69
分享
相关文章
Shell脚本监控WEB服务是否正常
Shell脚本监控WEB服务是否正常
3天玩转shell--12.实战编写nginx日志统计脚本【终结篇】
本节课是shell教程系列的最后一篇文章,希望这12篇文章对shell的学习者有帮助。往后有空会发表一些关于golang编程的实战系列文章、或者是k8s相关的文章。
509 0
3天玩转shell--12.实战编写nginx日志统计脚本【终结篇】
shell脚本实现zabbix监控信息收集
zabbix信息收集 一般zabbix信息收集都是写成脚本 思路:将监控的信息写成函数,使用位置参数$1来调用函数即可,一般都是zabbix来传参
576 0