English | 简体中文
桃桃是我女儿的乳名。
本程序开发之初,主要是为了保存桃桃成长的照片,故名taoSync
如果好用,请Star!非常感谢! GitHub Gitee DockerHub
Important
使用本工具前你必须了解并且会使用OpenList;本工具没有集成OpenList,你需要额外启动OpenList
Warning
警告!不要在外网暴露本系统,否则后果自负!
本系统已经做了一定的安全方面的工作,但仍不能保证绝对安全。如确实需要,请务必使用强密码,并使用SSL
把本地文件备份到多个网盘或FTP之类的存储,或者在多个网盘之间同步文件等;
可以定时扫描指定目录下文件差异,让目标目录与源目录相同(全同步模式);或仅新增存在于源目录,却不存在于目标目录的文件(仅新增模式)
可以设置一次性任务(cron方式设置年月日时分秒,将在指定时间执行一次),可在闲时自动从特定网盘下载文件到本地
- 开源免费,接受任意审查,几乎支持所有常用平台
- windows-amd64
- windows-arm64
- darwin-amd64
- darwin-arm64
- linux-amd64
- linux-arm64
- linux-386
- linux-arm-v6
- linux-arm-v7
- linux-s390x
- linux-ppc64le
- Android
- Github Actions自动打包与发布构建好的可执行程序,过程公开透明,无投毒风险
- 支持Docker,下载即用
- 适配PC&移动端显示,方便易用
- 干净卸载,不用的时候删掉即可,无任何残留或依赖,不影响系统里其他程序
- 数据库内的登录密码以不可逆散列保存,支持重置密码;如通过配置文件或环境变量设置初始密码,请妥善保护相关配置
- 完全离线运行(仅连接AList),永不上传用户隐私
- 完善的错误处理,稳定可靠,逻辑自洽;可能出错,但永不崩溃(我猜的)
- 完善的日志,所有错误都会被记录
- 引擎管理,可以自由增删改查
OpenList/AList - 作业管理,可以新增/删除/启用/禁用/编辑/手动执行作业
- 支持排除项规则,可以排除指定目录或文件不同步
- 支持按文件大小过滤,可分别设置最小和最大值
- 仅新增、全同步、移动三种模式
- 定时同步支持间隔、
cron、手动调用 - 同步进度、总体进度、同步速度、实时同步文件、预估时间等实时可视化查看
- 存储可控,合理配置任务记录与日志保留天数,可以控制本程序所占用存储在可控范围内
- 支持钉钉群机器人或server酱通知,可在任务成功或失败后发送通知
- 可执行程序
前往Release下载对应平台的可执行程序,直接执行
- docker
docker run -d --restart=always -p 8023:8023 -v /opt/data:/app/data --name=taoSync dr34m/tao-sync:latest或docker-compose
version: '3.8'
services:
tao-sync:
image: dr34m/tao-sync:latest
container_name: taoSync
restart: always
ports:
- "8023:8023"
volumes:
- /opt/data:/app/data把其中/opt/data替换为你实际的目录,在部分NAS(如绿联NAS)中,可以使用相对目录,如./config:/app/data
使用以下 Compose 配置可以同时启动 TaoSync 和 OpenList:
services:
openlist:
image: openlistteam/openlist:latest
container_name: openlist
user: "0:0"
restart: unless-stopped
ports:
- "5244:5244"
environment:
UMASK: "022"
TZ: Asia/Shanghai
volumes:
- ./openlist-data:/opt/openlist/data
tao-sync:
image: dr34m/tao-sync:latest
container_name: taoSync
restart: unless-stopped
depends_on:
- openlist
ports:
- "8023:8023"
volumes:
- ./taosync-data:/app/data启动后,可通过 http://127.0.0.1:5244 访问 OpenList,通过 http://127.0.0.1:8023 访问 TaoSync。在 TaoSync 中添加引擎时,OpenList 地址应填写 http://openlist:5244;Compose 网络内可以直接使用服务名作为主机名。
当前 OpenList 镜像已不再使用 PUID 和 PGID 环境变量。此示例使用 user: "0:0" 以获得较广泛的兼容性;如需按最小权限运行,请将其替换为用于运行 OpenList 的宿主机 UID/GID,并确保该用户对 ./openlist-data 具有写权限。详情请参阅 OpenList Docker 文档。
访问http://127.0.0.1:8023
默认账号为admin。当初始密码配置为RANDOM时,密码请到日志中查看;如果手动配置了密码,请直接使用该值登录。登录后请立即前往系统设置修改密码
Note
如果没有显示这个日志,可以到同级目录的data/log/sys_xxx.log文件查看,通常在第一行
进入系统后先到引擎管理菜单创建引擎,然后前往作业管理创建同步作业
点击展开配置项
配置优先级:data/config.ini>环境变量>默认值;前一个存在,则后边都将被忽略。修改配置需重启程序或Docker。
data/config.ini文件示例(如该文件存在,则优先级最高)
[tao]
# 初始管理员密码,仅首次创建数据库时生效;RANDOM或空值表示随机生成
password=RANDOM
# 运行端口号
port=8023
# 登录有效期,单位天
expires=2
# 日志等级:0-DEBUG,1-INFO,2-WARNING,3-ERROR,4-CRITICAL;数值越大,产生的日志越少,推荐1或2
log_level=1
# 控制台日志等级:适用于v0.2.3及之后版本,与上同
console_level=2
# 系统日志保留天数,该天数之前的日志会自动清理,单位天,0表示不自动清理
log_save=7
# 任务记录保留天数,该天数之前的记录会自动清理,单位天,0表示不自动清理
task_save=0
# 任务执行超时时间,单位小时。一定要设置长一点,以免要备份的东西太多
task_timeout=72上边的文件默认不存在,如需要,您可以手动在程序同级目录的data目录下创建config.ini,并填入上边的内容。注意,文件应使用UTF-8编码
| config.ini | Docker环境变量 | 描述 | 默认值 |
|---|---|---|---|
| password | TAO_PASSWORD | 初始管理员密码,仅首次创建数据库时生效;RANDOM或空值表示随机生成;兼容旧变量TAO_PASSWD |
RANDOM |
| port | TAO_PORT | 运行端口号 | 8023 |
| expires | TAO_EXPIRES | 登录有效期,单位天 | 2 |
| log_level | TAO_LOG_LEVEL | 日志等级:0-DEBUG,1-INFO,2-WARNING,3-ERROR,4-CRITICAL;数值越大,产生的日志越少,推荐1或2 | 1 |
| console_level | TAO_CONSOLE_LEVEL | 控制台日志等级:适用于v0.2.3及之后版本;与上同 | 2 |
| log_save | TAO_LOG_SAVE | 系统日志保留天数,该天数之前的日志会自动清理,单位天,0表示不自动清理 | 7 |
| task_save | TAO_TASK_SAVE | 任务记录保留天数,该天数之前的记录会自动清理,单位天,0表示不自动清理 | 0 |
| task_timeout | TAO_TASK_TIMEOUT | 任务执行超时时间,单位小时。一定要设置长一点,以免要备份的东西太多 | 72 |
| - | TZ | 时区 | Asia/Shanghai |
历史记录在这里;
如想体验研发中的版本(可能存在明显错误或严重bug,不建议小白尝试),可以尝试到DockerHub或Release找最新的含dev或pre的tag,例如v0.1.0-dev-build0






