# 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值并没有改变。
不过我还没试