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三元运算实现方法
Jan 12 Python
在Python中测试访问同一数据的竞争条件的方法
Apr 23 Python
python嵌套字典比较值与取值的实现示例
Nov 03 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
Dec 03 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 Python
python利用多种方式来统计词频(单词个数)
May 27 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 Python
Pycharm最新激活码2019(推荐)
Dec 31 Python
Python+Xlwings 删除Excel的行和列
Dec 19 Python
Python中threading库实现线程锁与释放锁
May 17 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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
压力如何影响浓缩咖啡品质
2021/03/03 咖啡文化
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
基于PHP创建Cookie数组的详解
2013/07/03 PHP
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
如何理解python面向对象编程
2020/06/01 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
解决方案设计综合面试题
2015/08/31 面试题
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
医学生职业规划范文
2014/01/05 职场文书
餐饮投资计划书
2014/04/25 职场文书
学校节能减排倡议书
2014/05/16 职场文书
争先创优演讲稿
2014/09/15 职场文书
高中运动会广播稿
2014/09/16 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
2015年暑假生活总结
2015/07/13 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫
python高温预警数据获取实例
2022/07/23 Python
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL