python 实现实时监控snapshot 状态-阿里云开发者社区

开发者社区> 科技小能手> 正文

python 实现实时监控snapshot 状态

简介:
+关注继续查看

#!/usr/bin/env python 
#-*-coding:utf8-*-
#实时监控snapshot 状态,如果网络 出现异常,直接重置snapshot 状态~
“”
创建snapshot 盘
qemu-img create -b root.img -f qcow2 root.qcow2 
snapshot 创建
virtsh snapshot-create-as  vm200001 vm200012
snapshot 重置
virsh snapshot-revert vm200001 vm2000012
”“

import  socket
import os,sys,time
import shutil

class Revert(object):
    def __init__ (self):
        pass
    
    def log(self,info):
        files = open('/var/log/listen.log','a')
        try:
            files.write(info)
        except IOError:
            files.close() 
        files.close()
        size = os.path.getsize('/var/log/listen.log') / 1024
        if size >= 1024:
            shutil.move('/var/log/listen.log','/dev/null')
        
        
    def mysock(self):
        while True:
            asock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
            asock.settimeout(10)
            try:
                asock.connect(('192.168.10.130',22))
                asock.close()
                time.sleep(3)
                self.log('%s:--: connect done \n'%(time.ctime()))
            except socket.timeout,e:
                self.log('%s:--: connect false:%s \n'%(time.ctime(),e))
                os.system('virsh snapshot-revert vm200001 vm2000012')
        
        
if __name__ == "__main__":
    pid = os.fork()
    if pid > 0 :
        sys.exit(0)
    os.setsid()
    os.chdir('/')
    sys.stdin = open("/dev/null","r+")
    sys.stdout = os.dup(sys.stdin.fileno())
    sys.stderr = os.dup(sys.stdin.fileno())
    reset = Revert()
    reset.mysock()
    
    
   本文转自 swq499809608 51CTO博客,原文链接:http://blog.51cto.com/swq499809608/855237

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python os.startfile python实现双击运行程序 python监控windows程序 监控进程不在时重新启动
用python监控您的window服务 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://world77.blog.51cto.com/414605/782935     最近比较烦,研发给的pc服务版本在虚拟机上已经开始给客户使用了,服务老是莫名的死翘翘,客户不停的电话给我,搞的我心情很差,于是在一个下午,静下心来,用python写了个简单的监控进程的脚本,当发现进程消失的时候,立即调用服务,开启服务。
1616 0
22、Python与设计模式--状态模式
#一、电梯控制器 电梯在我们周边随处可见,电梯的控制逻辑中心是由电梯控制器实现的。电梯的控制逻辑,即使简单点设计,把状态分成开门状态,停止状态和运行状态,操作分成开门、关门、运行、停止,那流程也是很复杂的。首先,开门状态不能开门、运行、停止;停止状态不能关门,停止;运行状态不能开门、关门、运行。要用一个一个if…else…实现,首先代码混乱,不易维护;二是不易扩展。至于各种设计原则什么的……
3946 0
Python WMI获取Windows系统信息 监控系统
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 #http://www.cnblogs.com/liu-ke/ 4 import wmi 5 import os 6 import sys 7 import...
1042 0
状态模式(State)
结构 UML.png 模式的组成 环境类(Context): 定义客户感兴趣的接口。维护一个ConcreteState子类的实例,这个实例定义当前状态。
618 0
23706
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载