rclone

在终端

1
2
3
wget https://downloads.rclone.org/v1.73.2/rclone-v1.73.2-linux-amd64.zip
unzip rclone-v1.73.2-linux-amd64.zip
./rclone-v1.73.2-linux-amd64/rclone config
  • 输入 n (New remote)。
  • 名字随便起,比如 onedrive
  • Type 选择 onedrive (输入数字即可,通常是41,41 / Microsoft OneDrive\ (onedrive))。
  • client_id client_secret 直接留空(回车)。
  • region,一般E5 账号都是 Global 国际版,选1即可
  • tenant直接跳过,这是给服务主体/Service Principal 用的,普通 E5 账号登录不需要填这个
  • Edit advanced config? n
  • 关键点: Use auto config? 选y使用浏览器登陆,没有浏览器使用n,粘贴token
  • token:填入下面获取的token
  • config_type:选择1, OneDrive 个人或商业版
  • config_driveid:会列出你账户下面的OneDrive默认即可
  • Found drive … -> 选 y
  • Keep this … remote? -> 选 y
  • 最后输入 q退出。

复制配置文件

在本地按照上面的方法配置好后,可以直接

1
rclone config show

你会看到一段类似下面的内容,完整复制它(包括 [onedrive] 那一行):

1
2
3
4
5
[onedrive]
type = onedrive
token = {"access_token":"eyJh...(超级长)...","token_type":"Bearer","refresh_token":"...","expiry":"..."}
drive_id = b!.......
drive_type = business

拷贝这个配置文件到服务器

1
2
3
4
5
6
7
mkdir -p ~/.config/rclone/

## 编辑或者直接拷贝文件
nano ~/.config/rclone/rclone.conf

## 检查验证配置
rclone lsd onedrive:

获取token

在本地同样下载rclone

1
rclone authorize "onedrive"

在弹出的web页面授权onedrive登陆,之后即可获得access_token。

获取{}包裹的完整token后,可以到上面进行认证。

下载

1
2
3
4
5
6
7
8
9
10
11
# 语法: rclone copy 源路径 本地路径 [参数]
# -P: 显示实时进度。
# --transfers=16: 同时下载 16 个文件
# --multi-thread-streams=4: 大文件会分成 4 个线程并发下载
# --buffer-size=64M: 增加内存缓存,减少 IO 瓶颈。

rclone copy onedrive:/你的文件夹/ /home/download/ \
-P \
--transfers=16 \
--buffer-size=64M \
--multi-thread-streams=4