文件夹自动同步工具

2023-11-07

这是我之前开发的文件夹自动同步工具,主要实现开发机和服务器之间的文件夹同步。

项目地址:

 https://github.com/mike-zhang/autoSync

问题描述

在windows下修改代码,到服务器上去编译,但每次都要通过winscp之类的工具拖拽上去(当然你也可以通过scp命令行的方式)。

每次修改的文件很少,而且可能位于不同的目录,每次都重复覆盖文件的操作感觉比较麻烦,所以开发了这个自动文件夹自动同步工具。

当然这个工具也可以用于两台linux服务器之间的文件夹同步。

工具介绍

该工具的原理就是监控本地文件状态,根据捕捉到的事件触发相关的动作,通过命令操作实现文件夹的同步。

配置文件说明:

host : 服务器地址
sshPort : 服务器ssh端口
user : 用户名
password : 密码
localDir : 需要同步的文件夹
remoteDir : 同步到服务器的文件夹
fileExcept :不同步的文件

示例代码配置文件:

<config>
    <host>127.0.0.1</host>
    <sshPort>22</sshPort>
    <user>root</user>
    <password>123456</password>
    <localDir>.</localDir>
    <remoteDir>/tmp/t1</remoteDir>

    <fileExcept>
        <file>f1.txt</file>
        <file>data/f2.txt</file>
    </fileExcept>

</config>

依赖库:

paramiko :ssh操作库

watchdog :用于监控本地文件夹状态

可以通过pip方式安装,命令如下:

pip install paramiko
pip install watchdog

工具使用示例如下:

$ python autoSync.py default.xml

讨论

1、如果想以单独的exe文件共享给朋友该怎么操作?

可以通过pyinstaller打包为单独的二进制文件,命令如下: pyinstaller.py -F autoSync.py

exe位于 autoSync/dist 目录下

pyinstaller地址:https://github.com/pyinstaller/pyinstaller 

 2、如需使用rsync进行同步可参考我之前的博文: 

http://www.cnblogs.com/MikeZhang/p/rsyncExample_20160818.html

好,就这些了,希望对你有帮助。

本文github地址:

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017/20170617_文件夹自动同步工具.rst

欢迎补充 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件夹自动同步工具 的相关文章

随机推荐

  • Gin框架结合gorm使用

    Gin框架结合Gorm使用 目录 Gin框架结合Gorm使用 前言 一 介绍 二 使用步骤 1 创建项目 2 开始main go 3 router的初始化 4 controller的初始化 5 services的初始化 6 models的初
  • 比较对象相等性的四种方法

    比较对象相等性的四种方法 System Object定义了3个不同的方法 来比较对象的相等性 ReferenceEquals 和两个版本的Equals 再加上比较运算符 实际上是有四种比较相等的方式 在编程中实际上我们只需要这两种比较 c
  • 使用vue-cli脚手架创建vue项目

    本文主要介绍使用的是安装vue cli脚手架并使用vue cli脚手架来创建vue项目 1 前置条件 需要安装npm 和nodejs 查看npm 和nodejs版本是否符合要求 如果版本不符合要求 有可能会导致安装失败 查看npm版本 np
  • 数学(3) 各种数学分布,高斯,伯努利,二项,多项,泊松,指数,Beta,Dirichlet

    打算这里记录各种数学分布 随时更新 正态分布 正态分布又名高斯分布 若随机变量X服从一个数学期望为 mu 标准差为 sigma的正态分布 则记为 X N 2 X 65374 N mu sigma 2 其中期望 mu决定了分布位置 标准差 s
  • Linux-eth0 eth0:1 和eth0.1关系、ifconfig以及虚拟IP实现介绍

    eth0 eth0 1 和eth0 1三者的关系对应于物理网卡 子网卡 虚拟VLAN网卡的关系 物理网卡 物理网卡这里指的是服务器上实际的网络接口设备 这里我服务器上双网卡 在系统中看到的2个物理网卡分别对应是eth0和eth1这两个网络接
  • Android开机自启动C程序调试

    Android开机自启动C程序调试 本次记录是关于如何在rk3566的Android11版本下将led时钟显示添加成开机自启动的C程序 首先 当然是在sdk中会被执行到的 rc文件中将我们所需要执行的C程序添加为服务 可以在init rc或
  • 剑指 Offer 58 - II. 左旋转字符串(java+python)

    字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部 请定义一个函数实现字符串左旋转操作的功能 比如 输入字符串 abcdefg 和数字2 该函数将返回左旋转两位得到的结果 cdefgab 示例 1 输入 s abcdefg k
  • python-爬虫初识-自动登录(二)

    目录 一 BeautifulSoup模块详细介绍 二 自动登录github 一 BeautifulSoup模块详细介绍 BeautifulSoup是一个模块 该模块用于接收一个HTML或XML字符串 然后将其进行格式化 之后遍可以使用他提供
  • 自定义一个类加载器

    为什么要自定义类加载器 类加载机制 http www cnblogs com xrq730 p 4844915 html 类加载器 http www cnblogs com xrq730 p 4845144 html 这两篇文章已经详细讲解
  • HKPCA Show携手电巢直播开启“云”观展!掀起一场电子人的顶级狂欢!

    近日 国际电子电路 深圳 展览会 HKPCA Show 已于深圳国际会展中心圆满举办 本次展览划分七大主题专区 面积超50 000平方米 展位超2500个 汇聚众多行业知名 有影响力的参展商 引用现场观众的一句话讲 这种规模的电子展览会真是
  • 北欧--2022年Python爬虫心得

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 前言 网络爬虫也称为 蜘蛛 它可以在海量的互联网信息爬取需要的信息 简单地说它是模拟人类请求网站的行为 即自动请求网页 抓取数据 然后从中提取有价值的数据 具体步骤如下 首先
  • oracle主键约束删除,oracle删除主键查看主键约束及创建联合主键

    oracle删除主键查看主键约束及创建联合主键 1 主键的删除 ALTER TABLE TABLENAME DROP PRIMARY KEY 执行上面的SQL可以删除主键 如果不成功可以用 ALTER TABLE TABLENAME DRO
  • C/C++访问MySQL数据库

    C C 访问MySQL数据库 VS2019配置 打开mysql的安装目录 默认安装目录如下 C Program Files MySQL MySQL Server 8 0 确认 lib 目录和include 目录是否存在 打开VS2019 新
  • 如何将自己的项目jar包打包成docker 镜像

    首先将自己的项目打包成jar 并在自己本地先用java jar xxx jar启动下 看是否可以启动 随后将自己的jar包同级目录创建一个Dockerfile文件 并用notepad打开 文件无后缀 FROM kdvolder jdk8 V
  • linux下手动安装编译的通用步骤

    手动安装编译的通用步骤 在自己的下载目录中 1 在官网下载压缩包 wget xxx 2 解压文件 tar zxf xxx 3 开始编译安装 查看解压的目录下的文件 是config还是autogen之类的 来决定使用 autogen sh还是
  • 如何使用memset函数

    如何使用memset函数 memset用处 memset使用方法 memset用处 memset函数是主要用于初始化字符串的一个函数 也可以用于初始化自定义类型数组 结构体数组和其他类型数组 memset使用方法 memset函数原型如下
  • 机器学习19:反卷积算法

    机器学习19 反卷积算法 转载和整理 在整理全卷积网络的过程中 被反卷积的概念困扰很久 于是将反卷积算法单独整理为一篇博客 本文主要转载和整理自知乎问题如何通俗易懂地解释反卷积 中的高票答案 1 反卷积概述 应用在计算机视觉的深度学习领域
  • java将本地图片复制添加水印并导出到本地

    模板信息 package com example demo ChartGraphics import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JP
  • Mybatis动态公用sql

  • 文件夹自动同步工具

    这是我之前开发的文件夹自动同步工具 主要实现开发机和服务器之间的文件夹同步 项目地址 https github com mike zhang autoSync 问题描述 在windows下修改代码 到服务器上去编译 但每次都要通过winsc