参考:
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
,而将下载目录设置为本地。