十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。
shell实现监控服务器状态以及服务器自动切换
上一篇 /
下一篇 2011-07-23 16:01:22
/ 个人分类:其它
主服务器A:192.168.1.22
l0{0Qy ]Dx+M0镜像服务器B:192.168.1.2351Testing软件测试网
B"`V4bF)}Y'f
跳转和监控服务器C:192.168.1.24
3G1l$Fe?o5j/pmrT(h0C计划任务每一分钟运行如下脚本,实现对A可访问监控,如果发现不能连接将自动将网站连接做301跳转到B服务器;
MF?0a jqZI\
}
q0若监控到A恢复网络访问,自动切换回A:
0^
tE!{&M&`+~0HOSTS=”192.168.1.22″
COUNT=20
”
logfile=”./qiehuanip.log”
cd /etc/nginx
s=`ping -c $COUNT $HOSTS | grep ‘received’ |awk -F ‘,’ ‘{print $2}’ |awk ‘{print $1}’` #ping 20 次
if (( $s <= 2 )) #如果收到的数据包少于2个,说明A网络故障
[!^2_uJ/W b9S Or0then
if [ ! -f "$logfile" ] #如果没有进行过切换,貌似替换服务器的nginx虚拟主机文件(做的301跳转),实现网站服务器IP地址切换
then
cp -f ./adcenter.vhost_beiyong ./adcenter.vhost
/sbin/service nginx restart