# FileSync **Repository Path**: forwhat00_admin/file-sync ## Basic Information - **Project Name**: FileSync - **Description**: 简单的远程文件即时同步功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-31 - **Last Updated**: 2023-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FileSync 简单的远程文件即时同步功能 ## 说明 在两个电脑或服务器(服务器还没测试)上 分别启动此代码 程序会监听文件变化,改变后与对方对比MD5值,不同则替换 TODO 考虑添加对文件的按段分割功能 ## 使用方法 咱们简单的假设你要在同一台电脑上的不同路径下使用 一侧是F:/Documents 另一侧是D:/Documents 首先需要在两个路径下添加fsync.conf文件 也就是F[D]:/Documents/fsync.conf 内容为json格式字符串,重点包含监听的端口与服务器使用的ip ```json { "target": "127.0.0.1", "target_port": 56722, "port": 56721, "seperator": "#fs#" } ``` target是对方的ip 没有此项将会不发送同步 target_port为对方端口 port字段为此代码监听的端口 没有此项将会不接受同步 TODO seperator表达使用什么样的字符串来对文件分段 之后在命令行 src文件夹里有个main.py代码,加上你要监听的路径,像这样 ```bash main/main.py F:/Documents ``` 另一侧也是一样,后面加上你监听的路径 ```bash main/main.py D:/Documents ``` 具体代码所在位置可以随意,不会影响程序运行(别放回收站) 好了。现在你可以尝试修改路径下的任意文件,然后看看效果了 ### 附 目标是希望不产生太多冗余文件,所以没有历史回退这种功能(直接用git吧) 就是单纯的以:简单快速的达到即时文件同步功能 为目标 也因为不希望出现冗余,所以不会对文件备份,而看上去这个文件监听功能并不能监听具体文件原本是什么样的,发生了什么改变,所以我应该是没办法知道改变了什么。 所以我只好整个替换改变的文件。这样对网络可能会有需求了。 不过本来也是打算只用于同步简短的代码文件。应该问题不大。 应该可以考虑加上个对文件手动分段,按段来计算md5值并替换。 理论上可以同时在两台电脑上开启客户端和服务端,使得能够完全同步两个终端上的文件。修改一侧的文件后另一侧也触发修改这种类似‘无限回音’的问题应该不会有,因为md5值并没有改变。 不过我还没试