python实现系统状态监测和故障转移实例方法


Posted in Python onNovember 18, 2013
#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

#!/bin/bash
vip=8.8.8.8
vip_local=`ifconfig |grep -A 1 "eth0:0" |awk '/inet addr/{print $2}'|cut -d ":" -f2`
if [ ! $vip_local ];then ifconfig eth0:0 $vip netmask 255.255.255.0 up;fi
Python 相关文章推荐
Python实现的数据结构与算法之双端队列详解
Apr 22 Python
简单介绍Python中的struct模块
Apr 28 Python
如何用python整理附件
May 13 Python
python flask实现分页的示例代码
Aug 02 Python
对Python的多进程锁的使用方法详解
Feb 18 Python
python字符串和常用数据结构知识总结
May 21 Python
用django设置session过期时间的方法解析
Aug 05 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
matplotlib.pyplot.matshow 矩阵可视化实例
Jun 16 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
May 24 Python
python线程池的实现实例
Nov 18 #Python
python批量导出导入MySQL用户的方法
Nov 15 #Python
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 #Python
python实现代理服务功能实例
Nov 15 #Python
Python(Tornado)模拟登录小米抢手机
Nov 12 #Python
Python3实现的腾讯微博自动发帖小工具
Nov 11 #Python
python正则分组的应用
Nov 10 #Python
You might like
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
JScript的条件编译
2007/05/29 Javascript
js 表格隔行颜色
2009/12/02 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
JS中操作JSON总结
2020/12/06 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python开发利器之ulipad的使用实践
2017/03/16 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
幼儿园门卫岗位职责范本
2014/07/02 职场文书
银行委托书范本
2014/09/28 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
新教师个人工作总结
2015/02/06 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
Spring Bean是如何初始化的详解
2022/03/22 Java/Android