python系统状态监测、故障转移的实例代码

发布时间:2020-09-11编辑:脚本学堂
分享一例python代码,实现系统状态的监测、系统故障转移等操作,是学习python socket编程的不错的例子,有需要的朋友参考下吧。

本节内容:
python 系统状态监测、故障转移

例子:
 

复制代码 代码示例:
#!/usr/bin/python
#
#site: www.jb200.com
# python 系统状态监测
#
#coding: utf-8
import socket
import select
import time
import os
import threading
def ser():
    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    s.bind(("",43244))
    while 1:
        infds,outfds,errfds = select.select([s],[],[],5)
        if infds:
            sms = s.recv(1024)
            if sms=="alived":
                print "peer is alived"
        else:
            print "Can't hear peer!"
            os.system("./failover.sh")
def clt():   
    while 1:
       sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
       sock.connect(('192.168.10.1', 43244))
       sock.send("alived")
       time.sleep(2)
if __name__=="__main__":
    ser=threading.Thread(target=ser)
    clt=threading.Thread(target=clt)
    ser.start()
    clt.start()
    ser.join()
    clt.join()
failover.sh

附,shell/ target=_blank class=infotextkey>shell脚本代码:
 

复制代码 代码示例:
#!/bin/bash
vip=8.8.8.8
vip_local=`ifconfig |grep -A 1 "eth0:0" |linuxjishu/13830.html target=_blank class=infotextkey>awk '/inet addr/{print $2}'|cut -d ":" -f2`
if [ ! $vip_local ];then ifconfig eth0:0 $vip netmask 255.255.255.0 up;fi