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

 

相关文章
|
监控 Linux API
实时监控文件系统:探索Python Watchdog库的神奇之处!
实时监控文件系统:探索Python Watchdog库的神奇之处!
499 3
|
API 开发工具 Python
【Azure Developer】编写Python SDK代码实现从China Azure中VM Disk中创建磁盘快照Snapshot
本文介绍如何使用Python SDK为中国区微软云(China Azure)中的虚拟机磁盘创建快照。通过Azure Python SDK的Snapshot Class,指定`location`和`creation_data`参数,使用`Copy`选项从现有磁盘创建快照。代码示例展示了如何配置Default Azure Credential,并设置特定于中国区Azure的`base_url`和`credential_scopes`。参考资料包括官方文档和相关API说明。
266 1
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
3276 0
Python实现因子分析(附案例实战)
Python print() 打印两个 list ,实现中间换行
Python print() 打印两个 list ,实现中间换行
|
监控 Oracle 关系型数据库
性能监控之Telegraf+InfluxDB+Grafana+Python实现Oracle实时监控
【6月更文挑战14天】性能监控之Telegraf+InfluxDB+Grafana+Python实现Oracle实时监控
546 2
|
监控 前端开发 关系型数据库
Python+java+websocket+SpringMVC实时监控数据库中的表
Python+java+websocket+SpringMVC实时监控数据库中的表
271 0
Python+java+websocket+SpringMVC实时监控数据库中的表
|
算法 大数据 Python
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
313 2
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
|
监控 测试技术 Shell
性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程
性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程
710 0
性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程
|
存储 数据安全/隐私保护 计算机视觉
python 实现pacs功能 推送下拉影像
python 实现dcmtk关联pacs功能 推送下拉影像
585 0
python 实现pacs功能 推送下拉影像

推荐镜像

更多