因为我用的甲骨文 vps,可能会玄学删 vps,所以需要频繁备份。放在国内公有云又怕审查,放谷歌微软的公有云容量又太少,歪门邪道又可能被删数据。有了 alist 就可以方便加密和解密数据,把加密后的数据放国内公有云就不怕审查了。用 alist 还有一个好处就是,如果你的数据同步到了多个公有云,alist 是可以很方便集中显示和管理公有云的文件的。rclone 也是常规的同步工具,直接备份 docker 文件夹就是了,这边就稍微记录一下。
前言
想要达成前面说到的目的,你需要:
需要的东西
- alist,并注册多个国内公有云账号,会把 vps 的数据同步到多个公有云
- 安装好 rclone。直接用官网提供的 bash,就没必要用 docker 了,因为可能要经常敲命令行,如果用 docker 还得进入 docker 才可以敲。
配置 alist
alist 可以很方便加密数据并上传到公有云。见官网教程。
这里稍微说明一下怎么做
- 先把公有云(如阿里云,天翼云)添加到
alist
- 之后创建
Crypt
驱动,填写Crypt
的路径,并且填写加密后的文件所在路径。例如,阿里云挂在到了/ali
,那么需要在这个/ali
里面预先创建一个空的文件夹,例如/ali/test
,之后在Crypt
配置里,填写Crypt
本身的路径,例如/Crypt
,之后填写加密后的文件所在路径,也就是/ali/test
。
那么就可以通过访问/Crypt
来加密解密/ali/test
里的文件了,上传文件到/Crypt
也就同样可以加密文件到/ali/test
。
之后如果你选择把同一个文件加密到多个公有云,使用 alist 的别名功能可以方便集中显示和管理分布在各个公有云的文件。
同样不要忘记导出 alist 的配置,可以用中文的密码,更加难破解。在 alist 的 dash 中不能直接输入中文,可以在别处输入了密码后,再复制粘贴到 dash。
配置 rclone
通过 alist 来中转而不是直接在 rclone 中挂载公有云的原因是,rclone 挂载起来没有 alist 方便,而且 alist 文档写的比较清楚。我一开始是用 rclone 来挂载谷歌云盘的,官网教程用的谷歌云盘的 oauth api,结果弄到后面需要我在有浏览器的电脑里,下载 rclone 然后再用浏览器登录,把 cookie 复制到 vps,,,
rclone 可以直接挂载 alist 的 webdav,例如挂载 alist 的 /ali/test
,就填写 http://127.0.0.1:port/dav/ali/test,注意你 alist 的端口,还要要加/dav
前缀。
输入 rclone config
就可以挂载 webdav。webdav 的用户和密码同 alist 的登录用户密码。
配置同步
rclone sync and copy
rclone sync
命令可以方便同步改变了内容的文件,例如 test.txt 中改变了一个字符,这时候运行同步命令就可以同步,如果再一次运行同步命令,则不会重复上传文件到公有云,节省了带宽。如果删除文件也会同步删除,rclone copy
则不会同步删除。sync
命令同样可以备份公有云端要删除的文件,具体见官网文档。
建议把同步命令写到 .sh 里,方便管理。rclone sync
需要先了解怎么用。
1 | rclone sync /home/dcoker-data ali:/dcoker-data \ |
可以在 exclude.txt 中定义不同步哪些文件。这里给一个样板。
1 | tmp/** |
可以定时备份。
1 |
|