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聊天室实现方法
Jun 28 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
Python多线程原理与用法实例剖析
Jan 22 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
python增加图像对比度的方法
Jul 12 Python
python super用法及原理详解
Jan 20 Python
Python实现企业微信机器人每天定时发消息实例
Feb 25 Python
python实现图片横向和纵向拼接
Mar 05 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
python boto和boto3操作bucket的示例
Oct 30 Python
python中的时区问题
Jan 14 Python
能让Python提速超40倍的神器Cython详解
Jun 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 页面编码声明方法详解(header或meta)
2010/03/12 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
smarty模板数学运算示例
2016/12/11 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
2010/11/16 Javascript
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
js中replace的用法总结
2013/12/27 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
python静态方法实例
2015/01/14 Python
python实现SOM算法
2018/02/23 Python
Python Dataframe 指定多列去重、求差集的方法
2018/07/10 Python
python实现求特征选择的信息增益
2018/12/18 Python
Python实现时间序列可视化的方法
2019/08/06 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
2014最新实习证明模板
2014/10/02 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python