You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
众所周知,unRAID 作为最流行的家用 Nas 系统之一,没有提供异地容灾的功能(3-2-1 备份原则中最后一条)。随着 Nas 里的数据越来越多,应用越来越复杂,我越来越担心 NAS 硬件由于不可抗力(地震、水灾、火灾、盗窃等)全挂了的时候该如何恢复的问题。为了确保数据万无一失,今天来说说异地容灾。
众所周知,unRAID 作为最流行的家用 Nas 系统之一,没有提供异地容灾的功能(3-2-1 备份原则中最后一条)。随着 Nas 里的数据越来越多,应用越来越复杂,我越来越担心 NAS 硬件由于不可抗力(地震、水灾、火灾、盗窃等)全挂了的时候该如何恢复的问题。为了确保数据万无一失,今天来说说异地容灾。
今天的主角是 RClone :
简单点说,RClone 是一个网盘同步命令行工具。他支持 40 多种网盘类型,今天我介绍一下国内常见的阿里云盘、OSS 的简单配置:
安装 RClone
小插曲:第一次装的时候,我装了自带 GUI 的 Docker 版。但探索了半天 GUI,没找到我想要的同步功能。与此同时我也在看官方文档,在逐渐意识到这是一个命令行工具的情况后,我换成了 unRAID 插件版,因为我要的几乎是整个 Nas 的数据备份,那岂不是要把所有目录都开放给 Docker 容器,那 Docker 就多此一举了。
在 unRAID 后台页面的 APPS 标签下搜索 rclone,然后点击左侧 Plugins 筛选出插件版,点击 Actions 安装:

安装完成后,执行命令

rclone version
确认是否安装成功,或者去 Settings > User Utilities > rclone 面板查看:配置
一个比较快的配置方式是直接去 Settings > User Utilities > rclone ,把配置粘贴到配置文件里去,配置文件内容参考下文。
使用命令配置粒度更细,也是官网文档里给的方式:执行
rclone config
会弹出交互式的终端会话,根据提示,输入 n 表示新建配置,接下来按照提示输入即可OSS
OSS 配置最简单,跟网盘的对比可参考官网,我认为比网盘更适合做备份。
配置文件内容:
自行配置:
接下来再执行
rclone config
就能看到刚刚配置好的远程连接了:执行命令
rclone lsd oss:
测试一下连接:常见命令
简单演示一下:
需要注意的是,同步命令有两个:
sync 是单向同步,只会修改目标,不会修改源目录。
bisync 才是直觉上的双向同步。 暂时没用到。详细可以查看官方文档。
阿里云盘
阿里云盘并没有直接支持,而是通过上文提到的标准协议之一的 WebDAV 实现支持的。
我用的是 messense/aliyundrive-webdav,你也可以用 alist,支持的国内网盘更多。
使用 Docker 镜像这个过程就不赘述了,不过我遇到一个坑:
我之前的 Docker 容器网络都配成了 br0,就是分配一个 IP,而不是 host(unRAID)端口。然而在 unRAID 上访问不到容器的 IP,需要去 Settings > Docker 里设置,或者改成 Bridge 分配端口号。已过时成功之后,把下面内容追加到配置文件里去:
操作完成后即可获得与 OSS 地位相同的远程连接,命令也一模一样。
自动同步
我是通过 User Scripts 这个插件实现的定时任务,通过 APPS 面板搜索即可。
我没用 crontab 的原因有两个:
添加定时任务:
cd /boot/config/plugins/user.scripts/scripts
创建一个目录(直接 copy 其他任务更方便),新建一个文件 script,注意没有后缀名,写入以下内容:
我的 rcloneignore 文件内容:
顺便分享一个带压缩和日期版本的 script:
然后去 Settings > User Utilities > User Scripts 设置任务调度即可。

The text was updated successfully, but these errors were encountered: