alist網盤自動同步
alist可以設置目錄定時轉存到各個網盤,做到夸網盤,多備份的效果 可以將自己掛載的alist 下的各個目錄相互間進行同步,原理是采用alist原始api調用執行 同步原理1.匹配文件名稱是否相同,2.文件大小是否相同,相同會跳過同步,不同會將目標文件刪除后再進行文件同步 目前存在的一個問題,有文件會隨機同步失敗,但同一個文件不會一直同步失敗,建議每天同步一次,可以將同步漏了的文件補上
參數
BASE_URL 服務器基礎URL( 結尾不帶/)
USERNAME 用戶名
PASSWORDd 密碼
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-syncenvironment:- 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-05-13更新
1.新增文件存在判斷邏輯
2.CRON_SCHEDULE 變更為參數可選