OpenList + Rclone 文件同步方案

用 Rclone 通过 WebDAV 挂载 OpenList 实现文件同步,是目前唯一好用的方案。相当于使用 Rclone 远控 OpenList,源目录和目标目录都是 OpenList,在 OpenList 服务端进行复制,你可以挂在流量多的 VPS 上,不会大量消耗你运行 Rclone 机器上的流量。

安装 Rclone

https://rclone.org/install/

一般包管理器都带 Rclone,可以直接 aptpacmanbrewscoop 等安装。

添加 WebDAV

需要在 OpenList 的用户设置中放开用户的 WebDAV 权限,建议为 WebDAV 专门创建一个用户。

然后参考:

https://rclone.org/webdav/

rclone config 一步一步添加即可,服务器地址填写你的 OpenList 地址 + /dav,如:http://your-openlist/dav

配置完后注意保管好你的 rclone.conf

使用 Rclone

在终端中输入以下命令,或者将其写成脚本然后执行:

复制

1
rclone --progress --timeout 0 --transfers 1 --ignore-existing --tpslimit 0.5 copy openlist:源路径 openlist:目标路径

同步

1
rclone --progress --timeout 0 --transfers 1 --tpslimit 0.5 sync openlist:源路径 openlist:目标路径

删除

1
rclone --progress --timeout 0 --transfers 1 --tpslimit 0.5 delete openlist:源路径 openlist:目标路径

调优

部分网盘可能需要添加以下参数:

  • --ignore-times:忽略文件修改时间,强制同步,适合同步大量实时性的文件的情况

  • --ignore-existing:跳过已经存在的文件,部分网盘如果不加此选项会出现多个同名文件

  • --delete-before:同步前删除已经存在的文件,部分网盘如果不加此选项会出现文件冲突导致无法上传

  • --tpslimit 0.5:限制文件请求速率,避免请求速度过快导致网盘账号、IP 被封

  • --max-size 8G:限制上传的最大文件大小,避免超出网盘限制导致上传失败

  • --min-size 100B:限制上传的最小文件大小,避免上传过小文件(大小为 0)导致网盘风控

  • -vv:显示详细的调试信息,方便排查问题

自动同步

其实可以复制以上两点粘贴给 AI 让它给你生成脚本,肯定比我给你的好。

或者直接给你的同步命令写死也行,避免各种变量绕的头晕。

然后使用各种定时工具让它自动执行,最好能记录执行日志方便后期排错,比如 1Panel / BT 的计划任务、青龙等。