参考:

Aria2 + Rclone 实现 OneDrive、Google Drive 等网盘离线下载

Rclone 安装配置教程 - 连接 OneDrive 和 Google Drive

不是云上贵州,是云上树莓派|用onedrive扩容你的树莓派

rclone安装

使用包管理器安装:

sudo apt install rclone #Debian
sudo yum -y install rclone #Red Hat

或使用官方脚本安装:

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

OneDrive认证

获取 token

安装好rclone后,先认证OneDrive

rclone authorize "onedrive"

会弹出:

If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...

如果是在具有图形界面的设备上操作的话,会弹出浏览器并访问 http://127.0.0.1:53682/auth ,这是微软账户的登陆页面,输入账户密码后登陆认证。认证成功后会得到一个只属于这个账户的token。

如果是用ssh连接VPS终端操作的话,可以先在有图形界面的桌面 Linux 或 macOS等设备上,安装 rclone 并认证OneDrive。

在不同设备上登录认证后得到的token可以通用,请务必妥善保存token。

Got code
Paste the following into your remote machine --->
{"access_token":"xxxxxxxx"}  # 注意!复制{xxxxxxxx}整个内容,并保存好,后面需要用到
<---End paste

rclone配置挂载

配置OneDrive

配置一个OneDrive远程云盘

rclone config

按照提示步骤完成配置,将上步得到的token粘贴到指定位置。

账户类型选择Microsoft OneDrive Global(不要选cn),其余参数均默认回车即可。

配置结束后挂载OneDrive

挂载时需要 fuse ,如果没有需要先安装:

sudo yum -y install fuse #Red Hat

(其余发行版同理)

挂载

把OneDrive根目录挂载在 /home/OneDrive ,加上 --demon 在后台运行。

将文件权限设置成 0755 以便可以写入、读取、执行。

rclone mount zhmarvel: /home/OneDrive/ --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --file-perms 0755 --daemon

本命令重启后会失效,如果想要服务器重启后自动挂载,需要添加个systemd服务,或是参考@等我稍后补充昵称(@飞蚊话)的视频:不是云上贵州,是云上树莓派|用onedrive扩容你的树莓派

挂载完成后,可以查看挂载信息

df -h
[root@USVPS Download]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        981M     0  981M   0% /dev
tmpfs           993M  4.0K  993M   1% /dev/shm
tmpfs           993M  8.6M  984M   1% /run
tmpfs           993M     0  993M   0% /sys/fs/cgroup
/dev/vda1        30G   18G   11G  62% /
overlay          30G   18G   11G  62% /var/lib/docker/overlay2/c9d0b87c0762106313a07f423e22467118a3612e4aeea76c0da8f21412fb79c0/merged
overlay          30G   18G   11G  62% /var/lib/docker/overlay2/f91887523264dc2c99ed632d9a9f816f8a40676818c22c9ac992d7159dee6044/merged
tmpfs           199M     0  199M   0% /run/user/0
zhmarvel:       1.1T   60G  970G   6% /home/OneDrive

可以看到OneDrive已经挂载在/home/OneDrive上了。

aria2下载

把aria2下载的目录设置为OneDrive所在目录就可以将下载的内容保存在OneDrive了,这样设置会在下载前在OneDrive创建空文件,然后再下载,这需要文件拥有可执行权限 (0755)。

编辑 ~/.aria2/aria.conf,修改下载目录即可。

若使用Aria2配置脚本 https://github.com/P3TERX/aria2.sh 搭建的aria2,配置文件保存在 /root/.aria2c/aria.conf

本文以上的设置是将aria2下载的文件直接保存在OneDrive,并且忽略VPS本身磁盘大小的限制。

若想先下载在本地,待下载完成后上传至OneDrive,可以参照参考的Blog,修改aria2配置文件中的 on-download-complete ,而将下载目录设置为本地。