pyinotify同步目录python脚本

python监听本地目录,并将目录下的文件同步到远端服务器 最近写了个文件监听同步的脚本,查找资料的时候发现大部分都是rsync和inotify的方案 粗看了下就是利用这两个工具,再配置来实现,这两个工具都很强大 但是考虑到那么多配置,而且两台机子都要配置,部署会很麻烦 如果自己写功能,就无需配那么多配置项,只需要安装好python的模块再配置一些简单的项就能用了, 还能根据需求自己定制一些功能,只不过性能稳定性什么的也许没有那个成熟的方案好,但是 阅读详情

有个同步图片目录的需求,本来是想inotify rsync实现的,但是不想搭建,就写个脚本

#!/usr/bin/python
# coding:utf-8
import os
from pyinotify import WatchManager, Notifier,ProcessEvent,IN_DELETE, IN_CREATE,IN_MODIFY

def DelVideoImagesTo134(filename):
    os.system("sshpass -p 123456  ssh www@10.144.0.134  'mv %s /tmp/'" % filename)

def ScpVideoImagesTo134(filename):
    os.system("sshpass -p 123456  scp -r %s www@10.144.0.134:%s" % (filename,filename))
class EventHandler(ProcessEvent):
    """事件处理"""
    def process_IN_CREATE(self, event):
        print("Create file: %s " %  os.path.join(event.path,event.name))
        ScpVideoImagesTo134(os.path.join(event.path,event.name))
    def process_IN_DELETE(self, event):
        print("Delete file: %s " %  os.path.join(event.path,event.name))
        DelVideoImagesTo134(os.path.join(event.path,event.name))

    def process_IN_MODIFY(self, event):
        print("Modify file: %s " %  os.path.join(event.path,event.name))
        ScpVideoImagesTo134(os.path.join(event.path,event.name))

def FSMonitor(path='.'):
    wm = WatchManager()
    mask = IN_DELETE | IN_CREATE |IN_MODIFY
    notifier = Notifier(wm, EventHandler())
    wm.add_watch(path, mask,auto_add=True,rec=True)
    print('now starting monitor %s'%(path))
    while True:
        try:
            notifier.process_events()
            if notifier.check_events():
                notifier.read_events()
        except KeyboardInterrupt:
            notifier.stop()
            break
if __name__ == "__main__":
    FSMonitor('/home/www/nginx/html/images/')
Python pyinotify介绍 在上文 <浅析 Linux inotify机制>https://my.oschina.net/u/2291453/blog/833919咱们已经探讨过Linux下的inotify机制, 也给出了简单实战例子, 但是c语言版本的, 无独有偶, python也封装这机制的库: pyinotify,那我们在简单实验下吧! 安装 依赖关系: Linux ≥ 2.6.13 Py... 阅读详情

相关推荐

python模块------pyinotify

介绍 pyinotify模块用来监测文件系统的变化,依赖于Linux内核的inotify功能,inotify是一个事件驱动的通知器,其通知接口从内核空间到用户空间通过三个系统调用。pyinotify结合这些系统调用,提供一个顶级的抽象和一个通用的方式来处理这些功能。 Linux在2.6.13版本以后才提供了inotify。 pyinotify模块API Notifier是pyinotify...

weixin_30352191的博客 731

pyftpsync命令详解:同步本地和FTP服务器之间的文件和目录

pyftpsync命令详解:同步本地和FTP服务器之间的文件和目录

Leon_Jinhai_Sun的博客 900

本地两个文件夹同步,python语言,linux系统通过(自己编写,可用)

本地两个文件夹同步,新建、删除、修改、移动位置、重命名、复制目录或者文件等操作都可以实现,修改文件路径即可用,watchdog思想编写。项目设计涉及到这一块,自己通过watchdog编写了同步的代码,希望可以给大家提供帮助。

Python 文件夹同步工具(sync_folders)

分享一个自己写的文件夹同步工具,可以实现文件夹备份/同步。

最简单的方法,解决最实际的问题。 1093

pyinotify-0.9.6

pyinotify-0.9.6

完美编译podofo0.9.6开源PDF读写库

完美编译podofo0.9.6开源PDF读写库,附带podofo所需的编译好的freetype、libjpeg、libpng、libtiff、lua(部分例子需要)、openssl(文档加密需要)、zlib(压缩文档)、cppunit(部分例子用到)、crypto(头文件在openssl中),如果不需要用到文档加密可以去掉相关宏PODOFO_HAVE_OPENSSL,有两个用例需要用到linux相关库,没做编译是禁用状态,启用了PODOFO_HAVE_OPENSSL宏后需要添加两个dll文件到程序目录并且要连接相关lib库。因为该开源库涉及到的开源库太多,为避免开发程序时过多的连接这些静态库,所以将其编译成了DLL库。

python实现目录监控定时同步文件

本文介绍了一个基于Python的目录同步工具实现方案,通过watchdog库实时监控源目录变化并同步到目标目录。核心功能包括初始全量同步、实时事件监听和定期扫描机制,支持排除隐藏文件、特定目录和文件扩展名。主要类FileSyncHandler继承自FileSystemEventHandler,实现了on_created、on_modified等事件处理方法,并结合shutil模块完成文件复制操作。该工具可通过命令行参数指定源目录和目标目录,适用于开发环境下的文件同步需求,具有自动过滤无效文件、保证数据一致性

qq_38197010的博客 623

python实现两个文件夹的同步

其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了。 WINDOWS: xcopy 源文件夹\* 目标文件夹 /s /e /y Linux: cp -r 源文件夹/* 目标文件夹 这里使用python来实现这些基本功能,并增加一些去重之类的增强功能。 1、复制源文件夹中文件至目标文件夹 要想同步两个文件夹中的数据,基本思路首先需要遍历源文件夹中的信息,将源文件夹中的文件复制到目标文件夹。 遍历文件夹采用os中的listdir函数就可以了。 import os path_s = 'F:\\test\\s' path_t = 'F:\

利用python实现两个文件夹的同步

其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了。 WINDOWS : xcopy 源文件夹\* 目标文件夹 /s /e /y Linux : cp -r 源文件夹/* 目标文件夹 这里使用python来实现这些基本功能,并增加一些去重之类的增强功能。 1、复制源文件夹中文件至目标文件夹 要想同步两个文件夹中的数据,基本思路首先需要遍历源文件夹中的信息,将源文件夹中的文件复制到目标文件夹。 遍历文件夹采用os中的listdir函数就.

sinat_22510827的博客 2308

从零开始:Basler相机与pylon Viewer的工业视觉入门指南

本文详细介绍了Basler相机与pylon Viewer在工业视觉系统中的入门指南,涵盖硬件连接、软件安装、核心功能解析及实战案例。通过pylon Viewer的全面控制和参数调整功能,帮助新手快速掌握工业视觉检测技术,提升生产效率。

julia4scientist的博客 1136

从“盲控”到“预见”:聊聊永磁同步电机负载观测器(PMSM Load Observer)如何让控制更丝滑

本文深入探讨了永磁同步电机负载观测器(PMSM Load Observer)如何通过前馈补偿和转动惯量辨识技术实现智能抗扰控制。从传统‘盲控’到预见性调节,负载观测器显著减少转速波动和能耗,提升系统响应速度。文章详细解析了观测器算法架构、工程调参技巧及前沿发展趋势,为电机控制领域提供实用解决方案。

weixin_33737774的博客 406

python脚本实现linux和windows下对文件夹的文件监视

主要是两个模块可以实现:watchdog 和 pyinotify pyinotify 在 linux下不需要 pip 安装,直接就可以使用,且只能在linux中使用。 watchdog 在 linux 和 windows 下 都可以使用 linux 中使用pyinotify案例: #!/usr/bin/python3 import os import pyinotify cl...

rongDang的博客 2387

避坑指南:SpringBoot对接拉卡拉支付常见问题与解决方案(含SDK 1.0.6配置技巧)

本文是一份SpringBoot项目对接拉卡拉支付的实战避坑指南。针对SDK 1.0.6版本,详细剖析了从依赖管理、多环境配置、SDK初始化到支付请求构建、回调验签及生产监控的全流程常见问题,并提供了经过验证的解决方案与配置技巧,旨在帮助开发者高效、稳定地集成支付功能。

k5l6m的博客 330

监控目录下生成的文件并上传到ftp

ftpUpload.py #coding:utf8 #author:lcamry import os import sys import pyinotify from ftplib import FTP WATCH_PATH = './' #监控目录 def ftp_connect(host, username, password): ftp = FTP() # ftp...

superbfly的专栏 1289

医学成像学习笔记(一):核磁共振成像(MRI)k空间为何是图像频谱详解

前言   k空间是核磁共振成像图像重建的核心,可能很多人像笔者一样第一次学时会非常疑惑,为何k空间是图像的频域空间,观其填充过程,明明是空域信号的采样填充呀。网上很少有文章讨论这个问题,所以笔者在此写下自己的理解,供大家参考。 MRI位置编码   现在的MRI一次扫描的是一个断层或者多个断层,所谓断层就是一个有厚度的面,通过z方向梯度场来选择。我们扫描一个断层的目的是为了获得该断层各位置的质子情况,它们携带着组织的性质信息,反应出来的就是信号强度。如果整个断层都采用相同的磁场强度,而我们只能得到一个断

意疏的学习笔记 1万+

华为 S2600T 存储 3 种网络端口(H4/H5/串口)用途解析与故障恢复实战

本文深度解析华为S2600T存储设备的三种关键网络端口(H4/H5/串口)的功能用途与故障恢复方法。通过详细的配置指南和实战案例,帮助管理员掌握管理接口(H4)的日常运维、维护接口(H5)的高级应用以及串口的应急操作,提升存储设备的可靠性和维护效率。

weixin_30899023的博客 338

python检测文件夹变化,并拷贝有更新的文件到对应目录

检测文件夹,拷贝有更新的文件到对应目录 2016.5.19 亲测可用,若有借鉴请修改下文件路径; 学习python小一个月后写的这个功能,属于初学,若有大神路过,求代码优化~ newcopy.py: 检测文件夹中最后修改时间变化的文件,并拷贝复制到相应路径下,拷贝目录会自动检测后输出;测试文件夹路径记得修改; pyinotify.py: 借用window接口,检

fuyou@的博客 1万+

QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)

一、环境介绍 QT版本: 5.12.6 编译环境: win10 64位 目标系统: Android 完整工程源码下载地址(包含APK文件):https://download.youkuaiyun.com/download/xiaolong1126626497/19051696 二、功能介绍 本软件是一款BLE蓝牙串口调试助手,支持常规的发送和接收调试,BLE是低功耗类型蓝牙,在智能家居、物联网领域使用较多。BLE低功耗蓝牙一般不能直接使用手机进行连接,手机蓝牙默认都是工作在传统蓝牙模式,无法直接连接BL..

7661

python文件实时同步_pyinotify模块实时文件同步

1年多前就看过相关内容了,当时python还不太会用看不懂别人写的代码,最近闲着又翻出来看看顺便解读下pyinotify的代码使用源自于http://blog.daviesliu.net/2008/04/24/sync/这里的代码有2个错误,一个是base多定义了一次,另外就是有几行缩进好像有点问题,需要自己控制下缩进一行一行解读flags = IN_CLOSE_WRITE|IN_CREATE|I...

weixin_36003864的博客 495

使用MATLAB结合EasySpin进行ESR模拟的详细步骤及示例代码

安装EasySpin:确保你已经安装了EasySpin工具箱,它可以帮助你进行ESR模拟。你可以从EasySpin的官方网站(https://easyspin.org/)下载并安装。准备实验数据:将实验得到的EPR数据整理成合适的格式,一般包含磁场(Magnetic Field)和信号强度(Intensity)两列。进行模拟:使用EasySpin的函数对单线态氧自由基和超氧自由基进行模拟。调整参数:通过调整模拟参数,使模拟得到的峰型和峰位置与实验数据尽可能匹配。导出数据。

AI的内部世界的博客 2006

基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

基于Vision Transformer的鸟类图像分类(200个类别)完整代码+数据

1728

python安装pyinotify模块

首先,下载pyinotify源码包,路径: https://download.youkuaiyun.com/download/Primeprime/13206897 然后,解压压缩包,进入目录 unzip pyinotify-master.zip cd pyinotify-master 最后执行安装指令 python setup.py install 即完成安装! 后面可以测试下python是否安装pyinotify模块成功 得先创建/tmp/test.txt文件,然后执行以下文件test_inoti

Primeprime的专栏 2176

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python3.6 Linux下使用pyinotify监听文件目录

Demo import pyinotify import sys import os WATCH_PATH = '/home/newdata' # 监控目录 if not WATCH_PATH: print("The WATCH_PATH setting MUST be set.") sys.exit() else: if os.path.exists(WATCH...

yuezhuo_752的博客 865

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Pyinotify 使用指南

**Pyinotify** 是一个用于Linux系统的Python库,它允许开发者监控文件系统事件。通过利用内核的`inotify`接口,Pyinotify能够高效地捕获目录变化、文件创建、修改、删除等多种事件,非常适合实现文件同步、备份系统以及实时数据处理等需求。项目遵循MIT许可协议,并且在GitHub上具有活跃的社区支持。 ## 项目快速启动 要快速开始使用Pyinotify,首先确保您

gitblog_00007的博客 440

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

PyInotify 使用教程

PyInotify 使用教程 1、项目介绍 PyInotify 是一个基于 Linux 内核的 inotify 功能的 Python 模块,用于监控文件系统的变化。inotify 是一个事件驱动的通知器,通过系统调用从内核空间到用户空间传递通知。PyInotify 结合这些系统调用,提供了一个顶级的抽象和一个通用的方式来处理这些功能。 2、项目快速启动 安装 首先,确保你的系统支持 inotify...

gitblog_00014的博客 864

python pyinotify

pyinotify是Linux系统文件监控的Python实现,通过封装内核inotify机制提供高效的事件驱动监控方案。相比轮询方式,它能实时响应文件变化而不消耗额外资源。文章介绍了pyinotify的核心功能、应用场景(如配置热更新、日志监控)及基本使用方法,包括创建监控管理器和事件处理器。同时指出了实践中的注意事项:事件处理应快速完成、合理选择监控粒度、做好错误处理等。与其他方案比较,pyinotify在Linux环境下性能优异但存在网络文件系统限制。该工具虽小,但在自动化系统开发和运维中作用关键,是理

leohu0723的博客 177
上一篇: springboot可执行jar包开机启动
sethcss
博客等级 码龄9年 7粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值