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 相关文章推荐
Windows和Linux下使用Python访问SqlServer的方法介绍
Mar 10 Python
Python实现将n个点均匀地分布在球面上的方法
Mar 12 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 Python
Python实现随机漫步功能
Jul 09 Python
Python3 关于pycharm自动导入包快捷设置的方法
Jan 16 Python
使用python接入微信聊天机器人
Mar 31 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
django rest framework serializers序列化实例
May 13 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 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的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
javascript 面向对象继承
2009/11/26 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
easyui validatebox验证
2016/04/29 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
js实现随机点名
2021/01/19 Javascript
Python通过正则表达式选取callback的方法
2015/07/18 Python
python追加元素到列表的方法
2015/07/28 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
JNI的定义
2012/11/25 面试题
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
什么是岗位职责
2013/11/12 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
企业厂长岗位职责
2013/12/17 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
购房个人委托书范本
2014/10/11 职场文书
出差报告格式模板
2014/11/06 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS