python监听本地目录,并将目录下的文件同步到远端服务器

Psyncd——linux的实时同步工具 Psyncd Psyncd介绍: Psyncd是一款类似于Lsyncd的文件同步工具,开发语言是python,原理是基于inotify对文件改动事件的监控,然后封装rsync命令进行同步。既可以批量同步,也可以实时同步。 Psyncd采用time delay和events delay机制,这两种方式同时兼顾了实时性和海量小文件同步。可以对海量小文件进行聚合,避免使用inotify+rsync时海量... 阅读详情

最近写了个文件监听同步的脚本,查找资料的时候发现大部分都是rsync和inotify的方案

粗看了下就是利用这两个工具,再配置来实现,这两个工具都很强大

但是考虑到那么多配置,而且两台机子都要配置,部署会很麻烦

如果自己写功能,就无需配那么多配置项,只需要安装好python的模块再配置一些简单的项就能用了,

还能根据需求自己定制一些功能,只不过性能稳定性什么的也许没有那个成熟的方案好,但是无所谓了,要求不是很高,还能练手


python脚本主要利用两个模块,pyinotify和paramiko

pyinotify是linux的inotify的一个封装,用来监听文件变化。paramkio实现了ssh,用来操作文件(上传、删除)。


代码地址:https://github.com/EchoUtopia/my-python-practices/blob/master/watch_sync.py

代码里遇到了一个问题

在make_deamon函数里

创建了个守护进程,然后将标准输出重定向到一个文件, 
但是发现这个文件里面并没有什么东西,如果不重定向可以正常输出到终端, 
我用 python 终端打开这个文件: open("file","a+",0)也是能写入内容的。

真不明白怎么回事,求大神帮忙看看

rsync本地与远程目录同步原理与生产实践 rsync是一种基于增量差异比对的文件同步协议,其核心原理是通过滚动哈希(rolling checksum)实现字节级变更识别,仅传输变化块而非全量文件,显著提升带宽利用率与同步效率。该技术价值在于兼顾可靠性、可审计性与中断续传能力,广泛应用于Linux系统备份、网站部署、跨环境代码同步等场景。相比scp或cp,rsync支持权限保留、软链接处理、时间戳校验及精细过滤;而基于SSH的通信模式,天然集成用户认证、加密通道与权限控制,规避了rsync未授权访问漏洞等安全风险。本文深入解析rsync在local与 阅读详情

相关推荐

VS Code Remote-SSH 远程开发全指南:Ubuntu服务器Python调试实战

Remote-SSH 是 VS Code 提供的架构级远程开发方案,其本质是将本地编辑器 UI 与远端 Linux 环境(如 Ubuntu)深度协同,实现文件系统、Python 解释器、Git、终端及 Docker 的原生集成。它依赖标准 SSH 协议和密钥认证,核心原理在于服务端运行语言服务器(如 Pylance)与任务执行器,本地仅负责渲染与交互。该技术显著提升嵌入式(RK3588)、边缘(树莓派)及云服务器场景下的 Python3 开发效率,尤其适用于 Django、Celery 等需真实 Linux

weixin_34037173的博客 417

VS Code Remote-SSH 远程开发实战:Ubuntu + Python3 一体化配置指南

远程开发本质上是将本地编辑体验与远端执行环境无缝融合的技术范式。其核心原理依赖 SSH 协议建立安全隧道,实现文件同步、进程托管与调试通信。技术价值在于规避本地环境碎片化、消除 Python 版本与依赖冲突、统一管理 Docker/虚拟环境等基础设施。典型应用场景包括云服务器 Python 开发、WSL2/VMware 虚拟机高效编码、以及 Django 等 Web 框架的真·远程调试。本文聚焦 VS Code Remote-SSH 插件与 Ubuntu 系统的深度协同,结合 python3 明确版本约束和

weixin_30345577的博客 758

Python Socket 编程详细介绍

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、Socket 类型二、Socket 函数1.服务器端 Socket 函数2.客户端 Socket 函数3.公共 Socket 函数三、Socket 编程思想TCP服务器TCP客户端Socket 编程实践之服务器端代码Socket 编程实践之客户端代码 前言 Python 提供了两个基本的 socket 模块: Socket 它提供了标准的BSD Socket API。 SocketServer 它提供了服务器重心,可以简

weixin_49575571的博客 998

VSCode SFTP插件配置全攻略:实现远程文件无缝同步与高效开发

在软件开发与运维工作中,远程文件同步是连接本地开发环境与服务器部署环境的关键技术。其核心原理是通过安全文件传输协议(如SFTP),建立本地与远程服务器之间的可靠数据通道,实现文件的自动上传、下载与一致性维护。这项技术的核心价值在于极大优化了开发工作流,避免了开发者在本地编辑器、FTP客户端和SSH终端之间的频繁切换,从而将注意力聚焦于代码逻辑本身。在应用场景上,它广泛服务于各类开发环境搭建,例如Go语言后端开发、PX4无人机固件开发、ESP32嵌入式开发,以及Nginx、Maven等服务的配置文件管理。本文

weixin_33806300的博客 407

Okteto:让Kubernetes开发回归IDE本地体验的CLI工具

Kubernetes开发长期面临环境不一致、调试低效、反馈延迟等核心痛点。其本质是传统CI/CD流水线与本地开发工作流之间的语义鸿沟——开发者需要的是‘改保存即生效’的实时性,而非反复构建镜像与滚动部署。Okteto通过轻量级CLI驱动的双向文件同步、SPDY隧道封装和原地容器增强机制,在不模拟集群、不侵入K8s核心组件的前提下,将VS Code等本地IDE与远端Pod深度集成。它复用kubectl认证体系,兼容任意K8s发行版(包括kubekey搭建的Ubuntu 22.04高可用集群),并天然支持Spr

weixin_34354945的博客 474

python开发MYSQL代理服务器

💖💖感谢各位观看这篇文章,💖💖点赞💖💖、收藏💖💖、你的支持是我前进的动力!💖💖 💖💖感谢你的阅读💖,专栏文章💖持续更新!💖关注不迷路!!💖

炫云云 1200

python实现的文件同步服务器实例

主要介绍了python实现的文件同步服务器,实例分析了文件同步服务器的原理及客户端、服务端的实现技巧,需要的朋友可以参考下

聚类分析之——Kmeans算法(一)

原创地址:http://www.toutiao.com/i6399454239554273794/ 聚类分析是一种静态数据分析方法,常被用于数据挖掘、机器学习、模式识别等领域,聚类是一种无监督式的学习方法。它是在未知样本类别的情况下,通过计算样本彼此间的距离(欧式距离,马式距离,汉明距离,余弦距离等)来估计样本所属类别。从结构性来划分,聚类方法分为自上而下和自下而上两种方法。聚类的算法有很多

june2017的博客 3530

Ubuntu20.04运行Vins-fusion

因已安装ROS noetic,eigen,opencv及ceres等库,这部分环境配置就不细讲,直接下载VINS-FUSION的代码库 下载编译 cd ~/vins-fusion/src git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git cd ../ catkin_make source ~/catkin_ws/devel/setup.bash 编译时会发现一堆错误,别急,无非就是环境冲突问题,一个个解决 1)首先,ROS

xiaojinger_123的博客 1万+

欧姆龙PLC的FinsTCP协议

三个流行的PLC: PLC 通讯协议 默认IP和端口 区别 西门子S7-1200 S7 192.168.1.201 :102 2次验证(正常连接后,第一次发不断开,第二次发断开) 三菱Q系列 MC 192.168.1.250 :4096 不验证(正常连接后,怎么发都不断开) 欧姆龙CJ-2M系列 FinsTCP 192.168.1.14 :9600 1次验证(正常连接后,第一次发断开) ...

周林的博客 1万+

Diffusion、VAE与GAN:三大生成模型的原理对比与应用场景解析

本文深入解析了Diffusion、VAE与GAN三大生成模型的核心原理与特性。Diffusion模型通过逆向去噪过程实现高质量图像生成,但计算成本较高;VAE擅长学习概率潜空间,训练稳定但图像偏模糊;GAN通过对抗训练生成锐利图像,但存在模式崩溃风险。文章结合实战场景,为图像生成、修复、超分辨率等任务提供了清晰的模型选择指南。

weixin_29063979的博客 342

手把手教你用DSP28335的PWM移相功能搞定双有源桥DAB(附完整代码)

本文详细解析了DSP28335的PWM移相功能在双有源桥DAB中的应用,包括ePWM模块的配置、移相时序原理及实战代码。通过精确的移相控制,实现DAB的高效运行和软开关,适用于车载充电机、储能系统等场景。附完整代码,助力开发者快速掌握硬件级移相技术。

weixin_30632089的博客 420

【Seurat绘图进阶】从参数调优到美学定制:解锁DimPlot与FeaturePlot的隐藏技巧

本文深入探讨了Seurat包中DimPlot与FeaturePlot的进阶使用技巧,旨在解决单细胞数据可视化中的常见痛点。通过参数调优(如order、shuffle、raster)、颜色美学定制(使用RColorBrewer、viridis配色)以及性能优化(栅格化处理),并结合scCustomize包与patchwork排版,帮助用户将基础图表提升为信息清晰、可直接用于论文发表的出版级可视化结果。

lake5的博客 628

UE5 推荐的资产命名规范

在开发阶段中,随着 虚幻引擎(UE)(Unreal Engine (UE)) 项目日益复杂,内容浏览器(Content Browser) 中的 资产(Assets) 列表会不断扩充。这会导致资产出现各种变体版本,也会导致资产名称因过于相似而造成混淆。比如,你有一个文件夹名为"Soldier",这个文件夹中有蓝图、纹理和模型,它们的名称中都带"Soldier"一词,但在简单列表中,很难区别它们。

一碗清深的博客 3373

【STM32项目】基于AI技术的多功能消防机器人(完整工程资料源码)

机器人通过巡逻扫描环境空间与障碍物、定位导航、探测物体/环境进行建模/自动地图测绘、扫描火焰、获取温湿度大小、获取空气安全情况来判断当前环境地点是否安全,检测到温度过高或检测到易燃、烟雾、有毒气体或摄像头识别到火焰时能够通过高压水泵喷射器来实现火焰隔离工作,蜂鸣器进行现场鸣笛报警,同时将当前环境温湿度大小、空气情况、环境地图、是否安全信息,将各个传感器来接收获取到的信息,实时发送到用户手机中的微信小程序,实现与用户远程监视功能,用户同时也能通过手机与电脑远程下发命令来操控机器人来实现交互功能

嵌入式技术开发 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: pyqt给js赋值,获取form表单值
下一篇: SHELL 编程之语法基础
ECHOutopia
博客等级 码龄14年 11粉丝 29原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值