python 实现实时监控snapshot 状态
2012-05-07 00:13
645 查看
#!/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()
#-*-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()
相关文章推荐
- 用Python实现Hadoop实时作业状态监控
- lvs+keepalived实现实时监控节点健康状态,并根据算法接管资源
- Qt实现 实时监控文件夹状态
- 如何实现实时监控数据库主从同步的状态
- 用python实现监控网站状态,并发送告警邮件
- WCF服务通过TCP实时监控客户端状态,并可以向客户端广播推送消息,实现双向通信
- 通过nagios实现MD5实时监控iptables状态 推荐
- Python实现数据可视化看如何监控你的爬虫状态【推荐】
- 基于邮件系统的远程实时监控系统的实现 Python版
- python实现实时监控文件的方法
- python实现实时监控文件的方法
- 用python实现监控网站状态,并发送告警邮件
- zabbix使用Python实现监控MongoDB副本集状态
- 监控redis数据库应用状态:python,tornado实现
- 树莓派--python实现实时监控
- python2.7 实现的实时监控指定股票价格的小程序
- Python 3.0 实现定时时监控12306 火车票
- Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
- 使用python监控linux 系统运行状态
- AJAX + SVG 实现实时监控图表