跳至主要內容

Rclone数据备份

Milton原创大约 3 分钟HomeLabNASself-hosted数据备份

Rclone 是一个命令行程序,用于管理云存储上的文件。它是云供应商网络存储接口的替代品。Rclone 支持超过70个云存储产品支持,包括 S3 对象存储,商业级别和消费者级别文件存储服务以及标准传输协议。

安装

Unraid 上安装 Rclone

在 Unraid 的上有官方提供的 Rclone 插件版,安装完成后就可以在系统设置内看到了。

二进制安装

使用官方的安装脚本:

sudo -v; 
curl https://rclone.org/install.sh | sudo bash

配置(以 OneDrive 为例)

运行 rclone config 开启交互式的配置命令,根据配置一步步往下走。

  1. 首先是让你选择用什么网盘;
  2. 选择完后会出现几个可选项,clien_idclient_secret ,都可以空掉不填;
  3. 选择完后就是要输入 OneDrive 的认证 token 了,这时候会让你选择在带有 web 浏览器的机器上操作,意思是如果是在终端远程操作的,就要转移到本机上来获取 token。
    1. 先在本机上下载 Rclone,Windows 版下载下来直接就是可执行文件;
    2. 在 exe 文件夹打开命令行页面,执行 rclone authorize "onedrive" 就会弹出 OneDrive 的认证窗口;
    3. 登录账号并允许权限后就会在命令行把 token 打印出来,直接再粘贴回 Rclone 配置的命令行当中就行了。
  4. 然后再是确认几个问题就 ok 了,基本按默认跟合适的选择就对了;
  5. 最后会显示以下最终的配置。

添加完成后,在 Rclone 插件页面刷新就能看到新配置的远端云盘了。再次运行 rclone config 会显示如下:

查看远端文件目录:

rclone lsd <远端名称>:

本地→网盘同步命令:

rclone sync /local/file <远端名称>:/remote/file

需要注意的是,同步命令有两个:

sync 是单向同步,只会修改目标,不会修改源目录。

  • 假如你在本地删除了其中的文件,那么远程对应的文件也会被删除(如果不想这样,可以用 copy 命令)。
  • 假如是远程文件被删除,只要本地文件还在,rclone sync 会再次把此文件推到远程。

常用命令

## 复制本地 /mnt/user/Public 到远程 /unraid/Public 下,已经存在的文件会被跳过
rclone copy /mnt/user/Public remote:/unraid/Public

## 移动本地 /mnt/user/file 到远程 /unraid/ 目录下
rclone move /mnt/user/file remote:/unraid/file

## 使远程 /unraid/Public 和本地 /mnt/user/Public 保持一致,不会修改本地文件
rclone sync /mnt/user/Public remote:/unraid/Public

## 为了防止误删文件,可以先用check查看不一样的文件。
rclone check path1: path2:

参考

  1. Rcloneopen in new window
  2. Unraid上rclone插件的使用 | 杂乱的备忘录open in new window
  3. 使用 RClone 实现 Unraid 的异地容灾 - 知乎open in new window
  4. Documentationopen in new window
  5. rclone安装及使用教程 – 大为的博客open in new window