aliyunpan-sync能让阿里云盘支持同步备份
什么是 aliyunpan-sync ?
aliyunpan-sync是阿里云盘命令行同步备份客户端,支持备份本地文件到云盘,备份云盘文件到本地,双向同步备份三种模式。支持JavaScript插件对备份文件进行过滤。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 tickstep ,选择第二个 tickstep/aliyunpan-sync,版本选择最新的就行,老苏安装的时候是 v0.2.3。
除
x86平台之外,还支持arm平台;

卷
为了测试,老苏在 docker 中新建了一个目录 photo,然后拷入了一些照片

| 文件夹 | 装载路径 | 说明 |
|---|---|---|
<your local dir> |
/home/app/data |
本地目录绝对路径,例如:/tickstep/Documents/设计文档 |

端口
和以往不同,这次不需要端口
环境
老苏在阿里云盘建了一个空的 photo 目录
你也可以用不设置,直接使用默认的
/sync_drive

| 可变 | 值 |
|---|---|
ALIYUNPAN_PAN_DIR |
云盘目录,默认值为 /sync_drive |
ALIYUNPAN_REFRESH_TOKEN |
RefreshToken,默认值为空 |
ALIYUNPAN_SYNC_MODE |
备份模式,支持三种: upload(备份本地文件到云盘),download(备份云盘文件到本地),sync(双向同步备份) |

默认 ALIYUNPAN_REFRESH_TOKEN是空的
refresh token的获取方法可以参考 『 能将阿里云盘挂载为webdav的webdav-aliyundriver 』
要是你懒得看也没关系,作者贴心的提供了一张图

填入正确的 RefreshToken 就可以了

docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 运行容器 |
docker-compose 安装
建议采用
docker-compose安装,因为示例比较完整;
将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
有几处需要修改:
<tag>:作者没有提供latest标签,所以安装前请查一下最新的版本号,目前是v0.2.3;<your local dir>:是本地备份目录的绝对路径,你要按自己的需要进行修改,老苏的示例中是/volume2/docker/photo;

<your refreshToken>:只指你的阿里云盘中获取的refreshToken值;<your drive pan dir>:云盘目录,默认值为/sync_drive
然后执行下面的命令
1 | # 新建文件夹 async 和 子目录 |

因为包含了中文注释,记得保存时一定要用 UTF-8 编码

运行
打开容器的日志会看到阿里云盘登录成功的提示

刷新阿里云盘,会看到照片都同步过来了

开启 ALIYUNPAN_SYNC_LOG=true 后,日志中能看到文件传输的信息

小结
注意:如果同步目录下有非常多的文件,最好在首次备份前先运行一次 scan 任务,等 scan 任务完成并建立起同步数据库后,再正常启动同步任务。这样同步任务可以更加快速同步并且能有效避免同步重复文件。
aliyunpan-sync 支持很多常用的命令,可以在容器内运行,例如:
1 | # 查看同步备份功能说明 |

也可以在命令执行
1 | # 进入容器 |

更多的命令可以去查阅官方文档:https://github.com/tickstep/aliyunpan/blob/main/docs/manual.md#常用命令说明
另外,作者还有了一个将阿里云盘变身为 WebDAV 协议文件服务器的镜像 tickstep/aliyunpan-webdav ,需要的也可以去看看
参考文档
tickstep/aliyunpan: 阿里云盘命令行客户端,支持webdav文件服务,支持JavaScript插件,支持同步备份功能。
地址:https://github.com/tickstep/aliyunpanaliyunpan/manual.md at main · tickstep/aliyunpan
地址:https://github.com/tickstep/aliyunpan/blob/main/docs/manual.mdtickstep/aliyunpan-sync - Docker Image | Docker Hub
地址:https://hub.docker.com/r/tickstep/aliyunpan-sync