博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监控Squid运行脚本
阅读量:6556 次
发布时间:2019-06-24

本文共 2388 字,大约阅读时间需要 7 分钟。

  因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 -c $Squid1_IP`       
if [ $Squid1Num -lt 10 ] ; then    
    /usr/local/etc/rc.d/squid1 start
    /usr/local/etc/rc.d/squid1 restart
    adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`    
    echo "$adddate squid_1 started" >> /var/restart_squid.log    
fi
Squid2_IP=`awk '/ifconfig_lo0_alias1/{print $2}' /etc/rc.conf`
Squid2Num=`netstat -an | grep -c $Squid2_IP`       
if [ $Squid2Num -lt 10 ] ; then    
    /usr/local/etc/rc.d/squid2 start
    /usr/local/etc/rc.d/squid2 restart
    adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`    
    echo "$adddate squid_2 started" >> /var/restart_squid.log    
fi
Squid3_IP=`awk '/ifconfig_lo0_alias2/{print $2}' /etc/rc.conf`
Squid3Num=`netstat -an | grep -c $Squid3_IP`       
if [ $Squid3Num -lt 10 ] ; then    
    /usr/local/etc/rc.d/squid3 start
    /usr/local/etc/rc.d/squid3 restart
    adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`    
    echo "$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 -c $Squid1_IP`       
if [ $Squid1Num -lt 10 ] ; then    
    /usr/local/etc/rc.d/squid1 start
    /usr/local/etc/rc.d/squid1 restart
    adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`    
    echo "$adddate squid_1 started" >> /var/restart_squid.log    
fi
Squid2_IP=`awk '/ifconfig_lo0_alias1/{print $2}' /etc/rc.conf`
Squid2Num=`netstat -an | grep -c $Squid2_IP`       
if [ $Squid2Num -lt 10 ] ; then    
    /usr/local/etc/rc.d/squid2 start
    /usr/local/etc/rc.d/squid2 restart
    adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`    
    echo "$adddate squid_2 started" >> /var/restart_squid.log    
fi
Squid3_IP=`awk '/ifconfig_lo0_alias2/{print $2}' /etc/rc.conf`
Squid3Num=`netstat -an | grep -c $Squid3_IP`       
if [ $Squid3Num -lt 10 ] ; then    
    /usr/local/etc/rc.d/squid3 start
    /usr/local/etc/rc.d/squid3 restart
    adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S`    
    echo "$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,如需转载请自行联系原作者
你可能感兴趣的文章
【转】正则表达式高级讲解
查看>>
C#面试宝典
查看>>
三种排序算法python源码——冒泡排序、插入排序、选择排序
查看>>
基金项目的英文
查看>>
.NET平台下使用MongoDB入门教程
查看>>
《软件性能测试与LoadRunner实战教程》喜马拉雅有声图书上线
查看>>
R语言可视化学习笔记之ggpubr包—SCI文章图
查看>>
【linux+C】通过几个实例温习指针
查看>>
HDU 1015 Safecracker 解决问题的方法
查看>>
【Echarts每天一例】-1
查看>>
ios 字典转模型
查看>>
正在编译转换: 未能找到元数据文件 EntityFramework.dll
查看>>
Java类集
查看>>
K-Means聚类算法的原理及实现【转】
查看>>
类的生命周期
查看>>
php apache用户写文件夹权限设置
查看>>
003-诠释 Java 工程师【一】
查看>>
浅析rune数据类型
查看>>
普通用户开启AUTOTRACE 功能
查看>>
1034 - Navigation
查看>>