alist网盘自动同步
- alist可以设置目录定时转存到各个网盘,做到夸网盘,多备份的效果
- 可以将自己挂载的alist 下的各个目录相互间进行同步,原理是采用alist原始api调用执行
- 同步原理1.匹配文件名称是否相同,2.文件大小是否相同,相同会跳过同步,不同会将目标文件删除后再进行文件同步
- 目前存在的一个问题,有文件会随机同步失败,但同一个文件不会一直同步失败,建议每天同步一次,可以将同步漏了的文件补上
- 可以实现百度网盘,阿里云盘,夸克网盘,本地硬盘等各大网盘之间相互备份同步
- 当目标文件修改时间晚于源文件修改时间,跳过修改
Alist-Sync-Web 网盘自动同步,网盘备份相互备份网页版,点击查看
参数
BASE_URL 服务器基础URL(结尾不带/)
USERNAME 用户名
PASSWORD 密码
DIR_PAIRS 源目录和目标目录的配对(源目录和目标目录的配对,用分号隔开,冒号分隔)
CRON_SCHEDULE 调度日期,参考cron语法 "分 时 日 月 周" 非必填,不填为一次调度
demo
docker run -d --name alist-sync \
-e TZ=Asia/Shanghai \
-e BASE_URL=http://192.168.xxx.xx:5244 \
-e USERNAME=xxx \
-e PASSWORD=xxx \
-e DIR_PAIRS=/dav/aliyundrive/同步目录/工作:/dav/quark/同步目录1/工作;/dav/quark/同步目录1/工作:/dav/aliyundrive/同步目录/工作 \
-e "CRON_SCHEDULE=5 16 * * *" \
xjxjin/alist-sync:latest
docker-compose.yml
name: alist-sync
services:
alist-sync:
container_name: alist-sync
environment:
- TZ=Asia/Shanghai
- BASE_URL=http://192.168.xxx.xx:5244
- USERNAME=xxx
- PASSWORD=xxx
- DIR_PAIRS=/dav/aliyundrive/同步目录/工作:/dav/quark/同步目录1/工作;/dav/quark/同步目录1/工作:/dav/aliyundrive/同步目录/工作
- CRON_SCHEDULE=5 16 * * *
image: xjxjin/alist-sync:latest
- 这个的意思是 需要将
- 源目录 /dav/aliyundrive/同步目录/工作 下的文件夹以及文件,同步到目标目录/dav/quark/同步目录1/工作 下
- 源目录/dav/quark/同步目录1/工作,同步到目标目录/dav/aliyundrive/同步目录/工作下
- 也就是说两个目录相互备份
注意 DIR_PAIRS格式为 ,用分号隔开,冒号分隔,英文冒号,英文分号
执行完成后可以在复制页面查看进度
2024-12-16更新
1.优化功能
- 当源文件和目标文件大小不一致时,如果目标文件修改时间晚于源文件,则跳过覆盖
2024-11-13更新
1.修复bug
- 修复删除目标目录多余文件重复删除问题
- 优化移动目标目录多余文件到存储器根目录
2.优化功能
- 优化设置多目录,一个目录失败导致所有目录失败问题
2024-09-06更新
1.新增参数,处理目标目录有多的文件或者文件夹,但是源目录没有的处理方式,功能由【RWDai】小哥提供
- none 什么也不做
- move 移动到目标目录下的trash目录
- delete 真实删除
2024-05-13更新
1.新增文件存在判断逻辑
- 文件名称
- 文件大小
2.CRON_SCHEDULE 变更为参数可选
- 当参数不传变更为一次调度,可以配合青龙远程调度
2024-05-23 更新
- 新增青龙调度
需要在环境变量处设置参数
BASE_URL
USERNAME
PASSWORD
DIR_PAIRS
国内执行
ql raw https://gitee.com/xjxjin/alist-sync/raw/main/alist-sync-ql.py
国际执行
ql raw https://github.com/xjxjin/alist-sync/raw/main/alist-sync-ql.py
2024-06-29更新
新增DIR_PAIRS参数个数,最多到50,参数内容和之前一致(源目录和目标目录的配对(源目录和目标目录的配对,用分号隔开,冒号分隔)),参数格式为
DIR_PAIRS
DIR_PAIRS1
DIR_PAIRS2
DIR_PAIRS3
.....
DIR_PAIRS50