rclone+onedrive备份服务器

前言

rclone可以将文件备份到云存储,onedrive是可靠云存储空间,两者结合可以实现服务器上重要文件的备份。

rclone安装

参考官方文档 Install (rclone.org)

使用一键安装脚本快速安装

1
bash <(curl -Ls https://rclone.org/install.sh)

检查是否安装正确

1
rclone version

获取onedrive客户端Id和密钥

参考官方文档 Microsoft OneDrive (rclone.org)

在azure上注册新应用

访问 azure 注册应用,点击新注册

输入应用名称,选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox),重定向URI选择Web,并填入http://localhost:53682/,点击注册

注册成功后,点击概述,复制客户端ID备用

创建客户端密码

依次点击证书和密码新客户端密码,添加客户端密码,截止期限最多24个月,点击添加

复制密钥值备用!刚创建时才能看到密钥值,如果看不到了,就删掉重新创建试试吧。

设置API权限

依次点击API权限添加权限Microsoft Graph委托的权限,将以下权限全部勾选上 Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, offline_access, User.Read, Sites.Read.All

最终的权限列表

获取token

在windows上安装rclone

官方下载windows版本并解压

接收许可获取token

在rclone解压目录下运行命令行,输入以下命令

1
.\rclone.exe authorize onedrive "应用程序(客户端)ID" "客户端密钥值"

在弹出的浏览器中选择接受,回到命令行窗口,access_token已经打印屏幕上,复制token备用

配置rclone

回到linux服务器上,输入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
rclone config
# 输入 n
# 输入自定义名称 remote
# 输入 28
# 粘贴客户端id
# 粘贴客户端密钥值
# 根据自已服务器的位置选择区域 1
# 输入 n
# 输入 n
# 粘贴access_token
# 输入 1
# 此时会列出你的onedrive地址,正确就输入 y
# 输入 y
# 输入 q 结束

检查是否配置成功

1
rclone lsd remote:

如果列出onedrive上的文件夹就说明配置成功了

备份重要文件到onedirve

备份的话一般是两种方式

  • 将文件压缩后,用日期命名,备份到云端,本地备份文件保留一个周期
  • 将本地文件镜像备份到云端

我个人比较倾向于第二种

使用rclone sync来进行镜像备份,更详细地说明可以查看 官方文档

1
rclone sync -i 本地文件目录 remote:云端目标文件夹

剩下的就是编写备份脚本,设置定时运行了,本篇文章就不再赘述。


rclone+onedrive备份服务器
https://blog.kedr.cc/posts/4034988835/
作者
zhuweitung
发布于
2022年6月22日
许可协议