简易双机高可用 实现脚本

来源:互联网 发布:电动飞机杯 知乎 编辑:程序博客网 时间:2024/06/05 15:56

如下两台机器:
A:192.168.136.79
B:192.168.136.78


对外IP:192.168.136.115


在A和B上分别运行如下脚本:
#!/bin/bash
addr="192.168.136.115"
trap ctrl_c INT
function ctrl_c() {
        echo "receive ctl-c"
        /etc/init.d/nfs-kernel-server stop
        ip addr del ${addr}/24 dev eth0
        echo "release ${addr}"
        exit 0
}
case $1 in
        start)
                while true
                do
                        if
                                /bin/ping -w 2 ${addr}>/dev/null 2>&1
                        then
                                echo "target ok--"`date`
                        else
                                echo "target failed, stoping service--"`date`
                                echo ""
                                if
                                        /etc/init.d/nfs-kernel-server stop
                                then
                                        echo "service stoped successfully--"`date`
                                        echo ""
                                        echo "attach ip, --"`date`
                                        ip addr add ${addr}/24 dev eth0
                                        echo "start service--"`date`
                                        echo ""
                                        /etc/init.d/nfs-kernel-server start
                                        echo "service started, --"`date`
                                        echo ""
                                fi
                                echo "done--"`date`
                        fi
                        sleep 3
                done
        ;;
        stop)
                p=`ps ax|grep 'ipmonitor'|grep -v 'stop'|grep -v 'grep'|awk '{print $1}'`
                kill ${p}
                ip addr del ${addr}/24 dev eth0
        ;;
esac
                                                       

原创粉丝点击