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