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 27 Python
python图片验证码生成代码
Jul 02 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
python 实现图片旋转 上下左右 180度旋转的示例
Jan 24 Python
python使用requests模块实现爬取电影天堂最新电影信息
Apr 03 Python
Python魔法方法功能与用法简介
Apr 04 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
python 魔法函数实例及解析
Sep 25 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
Apr 26 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
Python数据可视化之绘制柱状图和条形图
May 25 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和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
2012/08/06 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
JavaScript继承方式实例
2010/10/29 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
javascript每日必学之多态
2016/02/23 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
Python函数学习笔记
2008/10/07 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
采购部部门职责
2013/12/15 职场文书
房地产营销策划方案
2014/02/08 职场文书
土地转让协议书
2014/09/27 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
2014年技术部工作总结
2014/12/12 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
法院个人总结
2015/03/03 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript
golang中的struct操作
2021/11/11 Golang
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记
tomcat下部署jenkins的方法
2022/05/06 Servers
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server