用python监视文件变化,定时更新修改过的文件。-- 逆水寒
来源:互联网 发布:矩阵分块 编辑:程序博客网 时间:2024/06/10 19:05
#!/usr/bin/env python# -*- coding: UTF-8 -*-import osimport sysimport timeimport urllibimport pyinotifyimport loggingimport subprocessfrom pyinotify import WatchManager, Notifier, ThreadedNotifier, EventsCodes, ProcessEventsync_dirs = {'/mnt/video/pvmsvideo/2013' : 'pvms_video_pvmsvideo',\ '/mnt/video/pvmsimage/2013' : 'pvms_video_pvmsimage'}def Monitor(): class Ptmp(ProcessEvent): """docstring for Ptmp""" def process_IN_CREATE(self,event):passdef process_IN_CLOSE_WRITE(self,event): print "Modify : %s " % os.path.join(event.path,event.name) #notify_change(event) def process_IN_DELETE(self,event):fp = open("/var/log/lostvideo.log","w+") fp.write("Remove : %s " % os.path.join(event.path,event.name))fp.close() wm = WatchManager() mask = pyinotify.IN_CREATE|pyinotify.IN_DELETE|pyinotify.IN_CLOSE_WRITE notifier = Notifier(wm,Ptmp()) pathes = sync_dirs.keys() for path in pathes: wdd = wm.add_watch(path,mask,rec=True,auto_add=True) while True: try: notifier.process_events() if notifier.check_events(): notifier.read_events() except KeyboardInterrupt: notifier.stop() breakdef notify_change(event): for key in sync_dirs.keys(): if event.path.find(key) >= 0 :ps_cmd = "ps -ef|grep -i \"rsync.*%s.*\"|wc -l" % (key)print "%s %d" % (ps_cmd,int(os.popen(ps_cmd).read()))if int(os.popen(ps_cmd).read()) == 2: cmd = "rsync -avrP --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r --password-file=/etc/backup.pass %s --exclude-from=/etc/rsyncexclude.list backup@10.211.1.115::%s & " % (key,sync_dirs[key]) print cmd #os.system(cmd)subprocess.Popen(cmd,shell=True)if __name__ == "__main__": Monitor()能不能抽时间帮忙看看 怎么加个定时器到上边代码,
需求是定时每20分钟同步一次修改过的文件到另一台服务器。
- 用python监视文件变化,定时更新修改过的文件。-- 逆水寒
- 用python监视文件变化
- 监视资源管理器的文件变化
- 监视资源管理器的文件变化
- 用FileSystemWatcher监视文件变化
- 监视文件变化
- 用inotify监视文件/目录变化
- (转)【pyinotify 模块】Python监视文件变化
- tails 指定输出文件的行 监视文件的变化
- 一个文件修改监视的小工具
- 【转】c#如何监视文件或者文件夹的变化
- c#如何监视文件或者文件夹的变化
- 《逆水寒》
- 使用控制线程监视目录文件变化
- 使用控制线程监视目录文件变化
- Android 监视文件或目录变化
- 使用inotify监视Linux文件变化
- Android 监视文件或目录变化
- uva 10131 Is Bigger Smarter?(DAG最长路)
- Linux下cut命令用法详解
- 单例模式 懒汉式与恶汉式
- MongoDB介绍及下载与安装 (转自博客园)
- 如何debug scons
- 用python监视文件变化,定时更新修改过的文件。-- 逆水寒
- Unix文本处理工具之awk
- ffmpeg结构体以及函数介绍(一)
- IOS开发笔记--UIKit框架之 UIView
- 弹出div上点击按钮div会自动隐藏问题,已解决
- 从SVN上删除已经存在的文件
- ffmpeg结构体以及函数介绍(二)
- sed与awk常用功能
- ffmpeg结构体以及函数介绍(三)