OneDrive不仅可作个人网盘使用,之前也分享过用oneindex来搭建下载站。现在再分享一下rclone这款程序,可以把OneDrive挂载在服务器上,当做扩容盘使用,用来进行数据备份或数据分享等。
目前,最新的rclone正式版本是V1.48版本。
由于rclone配置过程中,需要用到图形界面去获取OneDrive的token信息,所以需要用到Windows带桌面系统。
在Windows中,直接下载压缩包:点击下载,然后解压。接着用管理员权限运行CMD,cd命令进入rclone.exe目录后,可以执行:
rclone authorize "onedrive"
命令进行配置,也可以执行以下命令并手动填写相关内容(##后面为备注文字,不用输入):
rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n ##这里输入字母n后回车
name> YoursName ##填写远程项目的名称,可随便填
然后会出现很多选项,例如:
18 / Microsoft Azure Blob Storage
\ "azureblob"
19 / Microsoft OneDrive
\ "onedrive"
……
26 / Yandex Disk
\ "yandex"
27 / http Connection
\ "http"
Storage>19 ##OneDrive在第19选项,输入19回车。不同版本的rclone选项会有不同,灵活处理。
Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id> ##这里不用填,直接回车
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret> ##这里不用填,直接回车
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n ##输入字母n回车
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y ##输入y回车
此时,电脑会自动打开浏览器,登录你的OneDrive账号,网页授权后会自动跳转,页面显示 Success! 时,返回到CMD命令窗口继续填写:
Waiting for code...
Got code
Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
2 / Root Sharepoint site
\ "sharepoint"
3 / Type in driveID
\ "driveid"
4 / Type in SiteID
\ "siteid"
5 / Search a Sharepoint site
\ "search"
Your choice>1 ##输入数字1回车
Found 1 drives, please select the one you want to use:
0: (personal) id=511da6XXXXXX
Chose drive to use:> 0 ##输入数字0回车
Found drive 'root' of type 'personal', URL: https://onedrive.live.com/?cid=511da6XXXXXX
Is that okay?
y) Yes
n) No
y/n> y ##输入y回车
--------------------
[onedrive]
type = onedrive
token = {"access_token":"EwCA——这里会出现一大串的数字英文字符——"expiry":"2019-08-14T15:26:57.7360245+08:00"}
drive_id = 511da6XXXXXX
drive_type = personal
##上面的那个token信息,把等号右边的信息复制下来保存
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y ##输入y回车
Current remotes:
Name Type
==== ====
YoursName onedrive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q ##输入q回车,退出配置
使用root用户登录CentOS系统服务器,可以使用官方的一键安装命令进行安装:
curl https://rclone.org/install.sh | sudo bash
注意一点,Windows和CentOS两个系统的rclone版本要一致,否则后面输入OneDrive的token时,会出现错误。
也可以执行以下命令手动安装:
curl -O https://downloads.rclone.org/v1.48.0/rclone-v1.48.0-linux-amd64.zip
unzip rclone-v1.48.0-linux-amd64.zip
cd rclone-v1.48.0-linux-amd64
cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone
mkdir -p /usr/local/share/man/man1
cp rclone.1 /usr/local/share/man/man1/
sudo mandb
安装完之后,执行命令:
rclone config
来进行配置,步骤和内容与Windows下类似,有一处要注意:
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> n ##这里要输入n回车
For this to work, you will need rclone available on a machine that has a web browser available.
Execute the following on your machine:
rclone authorize "onedrive"
Then paste the result below:
result> {"access_token":"EwCA——这里会出现一大串的数字英文字符——"expiry":"2019-08-14T15:26:57.7360245+08:00"} ##这里填上之前保存的token信息,回车后按Windows下的类似再进行配置
配置完成后,再在CentOS服务器上执行:
yum -y install fuse
mkdir -p /home/onedrive
rclone mount YoursName:/ /home/onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
#如果在上传文件过程中出错,估计是切片引起的,可以用以下命令:
rclone mount YoursName:/ /home/onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --vfs-cache-mode writes
#如果需要后台运行,可以使用以下命令:
nohup rclone mount YoursName:/ /home/onedrive &
YoursName:/ 的意思,即是挂载你OneDrive的根目录,你可以指定文件夹挂载,如 YoursName:/music
可用 df -h
命令查看挂载情况,如无特别问题,一般是已经挂载成功了的。
如需要卸载磁盘,执行命令fusermount -u /home/onedrive
即可。