# 文件加密同步服务
**Repository Path**: wangqj/FileSync
## Basic Information
- **Project Name**: 文件加密同步服务
- **Description**: 多线程文件同步软件,实现文件夹同步、文件夹与UNC(网络邻居)同步,支持对目标文件压缩和加密。
- **Primary Language**: Pascal
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-10-10
- **Last Updated**: 2022-10-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 文件加密同步服务
#### 介绍
多线程文件同步软件,以后台服务形式常驻运行,最多可指定30个同步任务,实现文件夹与文件夹、文件夹与UNC(网络邻居)的文件同步。
在同步时可对目标文件夹的存放文件进行压缩(zip或7z)和加密(7z格式),从目标文件夹向源文件夹同步时会自动解压、解密。
在生产环境对多达40几万个文件的目录进行同步,性能和效果达到预期要求。
#### 安装教程
后台服务安装方法:
1.以管理员身份运行CMD,使用CD命令切换到程序所在目录,运行YunChenFileSync -i完成安装。
2.例如,程序下载保存在D:\demo目录,则操作命令如下:
d:
cd D:\demo
YunChenFileSync -i
3.卸载用命令:YunChenFileSync -u
#### 配置文件(setting.ini)参数说明
1. MaxLogSize:日志文件尺寸上限,单位:MB,到达上限时创建新日志。
2. CPUUsage:CPU占用率,范围0-100(最低0,最高100),设定为0值时启用临界区以队列方式进行同步,同时降低CPU占用率和磁盘IO。
3. [n]:任务号,ini文件的区段,可指定30个任务,从1~30,可断号。
4. SrcDir:源目录,使用绝对路径,支持UNC路径(可带账号、密码,格式: 账号:密码密文@\\unc),密码encode使用命令加密。路径填写不正确任务会被忽略。
5. DestDir:目标目录,使用绝对路径,支持UNC路径(可带账号、密码,格式: 账号:密码密文@\\unc),密码encode使用命令加密。路径填写不正确任务会被忽略。
6. Recurse:是否同步子目录的文件,0为不包含,非0数字表示包含。不可使用字母、英文。默认不包含。
7. Direction:文件同步方向,0双向,1从源到目标,2从目标到源,默认0双向。
8. Time:指定同步时间段,例如:08:20-20:40,表示从8:20至20:40这段时间才同步文件,其他时间休眠。不指定表示24小时同步。
9. Igonre:不需要同步的文件或目录,支持?和*两个通配符,目录使用[]括住,有多个忽略项目以英文逗号分隔,例如:
*.tmp,2021????.bak,[*recovery],[history]
以上表示:
1)不同步扩展名为tmp的文件。
2)不同步名称以2021开头、文件名8位长、扩展名为bak的文件。
3)不同步名称以recovery结尾的目录、其子目录、及文件。
4)不同步名为history的目录、其子目录、及文件。
不指定表示同步全部文件。
10.Compress:将文件同步目标目录时进行压缩(会耗用更多CPU资源),支持zip和7z两格式,不设定表示不进行压缩。
11.Password:为7z压缩文件添加密码(zip不支持加密码),请在命令行下调用本程序生成密文,如:
YunChenFileSync -encode 123456789
12.Pause:完成一个同步周期后,休眠多少秒,默认值5秒,最大值3600秒。
#### 配置文件(setting.ini)示例:
[Default]
;日志文件尺寸上限,单位:MB,到达上限时创建新日志
MaxLogSize=5
;CPU占用率,0-100(最低0,最高100)
CPUUsage=99
;[1];同步任务编号从1起,最多30个任务
;SrcDir=源目录,使用绝对路径,支持UNC路径(可带账号、密码,格式:账号:密码密文@\\unc)。路径不正确会被忽略
;DestDir=目标目录,使用绝对路径,支持UNC路径(可带账号、密码,格式:账号:密码密文@\\unc)。路径不正确时任务会被忽略
;Recurse=是否同步子目录的文件,0为不包含,非0数字表示包含。不可使用字母、英文。默认不包含。
;Direction=同步方向,0双向,1从源到目标,2从目标到源,默认0双向
;Time=指定同步时间段,例如:08:20-20:40,表示从8:20至20:40这段时间才同步文件,其他时间休眠。不指定表示24小时同步
;Igonre=不需要同步的文件或目录,支持?和*两个通配符,目录使用[]括住,多个以英文逗号分隔,如:*.tmp,2021????.bak,[*recovery],[history]。不指定表示同步全部文件。
;Compress=将文件同步目标目录时进行压缩(会耗用更多CPU资源),支持zip和7z两格式,不设定表示不进行压缩。
;Password=为7z压缩文件添加密码(zip不支持加密码),请在命令行下调用本程序生成密文。
;Pause=完成同步后暂停多少秒再进行下一个循环,默认值5秒。最大值3600秒。
[1]
SrcDir=D:\nes
DestDir=E:\test
Recurse=1
Time=08:20-20:40
Igonre=*.bak,*.tmp
Compress=7z
Password=PgqDr+/CD/g=
Direction=0
Pause=20
[2]
SrcDir=X:\Delphi\项目周报管理工具
DestDir=x:\tmp\工具
Direction=1
Igonre=*.pas,[*recovery],[??history]
Compress=7z
Pause=12