快捷搜索:   nginx

CENTOS服务器使用rclone开机自动挂载微软onedrive onedrive挂载为服务器磁盘方法

最近经常听说有人撸到无限容量的谷歌网络硬盘,或者是5T容量的,都是利用学生认证实现的,现在淘宝上也有一大堆,但是感觉这种都不一定稳,随时可能翻车,我自己是用的google drive个人版的免费15G空间,其实也够用了,可以挂载到服务器上,当一个普通的本地磁盘样操作,多15G随便放点什么都好,还稳定,不怕翻车,挂载主要通过RCLONE这个软件实现,需要服务器或者至少KVM架构的VPS,因为需要用到FUSE,而一般OPENVZ架构是不开启这个功能的,教程如下:

本教程基于CENTOS系统

安装EPEL源(这一步国外VPS一般可不用操作):

yum -y install epel-release

安装一些基本组件和依赖:

yum -y install wget unzip screen fuse fuse-devel

下载Rclone解压然后进入目录:(64位系统就下载rclone-current-linux-amd64.zip,32位系统就下载rclone-current-linux-386.zip替换下面代码中的链接就行了)

wget https://downloads.rclone.org/rclone-current-linux-amd64.zip 
unzip rclone-current-linux-amd64.zip
cd rclone-v*

注意cd rclone-v*这一步如果系统执行出错,你可以输入ls命令查看一下具体目录名,因为这个是使用最新版本,版本号不一定一样,然后根据真实的目录cd 进去一下

接下来运行Rclone开始配置:

./rclone config

第一步选择n,然后回车输入一个name,建议这个name设置的简单好记一点,比如我们这边叫onedrive这个下面会用到如图所示:


blob.png

第二步选择挂载类型,这里选择17 onedrive,切记要选对了,注意看看是不是One Drive 可能rclone版本不一样,选项数字不一定一样:

blob.png

接着client_id、client_secret都留空直接回车,Edit advanced config、Use auto config这里我们选择n,Account Type根据你的OneDrive类型选择个人版还是商业版,我们这里用的是E3版属于商业版,因此选择b,Use auto config这里我们选择n,如图所示:

blob.png

然后获取授权的TOKEN,

Onedrive 的配置需要在一台有浏览器的电脑上进行授权,下载 PC 版本的 rclone(我用的 64 位):

下载 PC 版本的 rclone(我用的 64 位):

64 位:https://downloads.rclone.org/v1.49.5/rclone-v1.49.5-windows-amd64.zip

32 位:https://downloads.rclone.org/v1.49.5/rclone-v1.49.5-windows-386.zip

解压放在 C 盘根目录,改名为 rclone

切换目录到 C: clone,执行设置,注意选择自动配置 Y

cd c: 
cd rclone
rclone config

配置方法参考上面,但是USE AUTOCONFIG要选Y

image.png

QQ图片20181010125737.png

登陆接受然后,提示SUCCESS后返回CMD命令框继续按上面的方法输入,然后就会出现一串的字符串

右键标记全部的 access token,按 CTRL + C 进行复制.(就是 {“access_token”: … }, 两个花括号及中间的部分. )粘贴到记事本中,整理好去除换行和空格(这步一定要的).回到服务器粘贴刚刚复制的 access token.

blob.png

blob.png

blob.png

输入Y确认配置正确

blob.png

然后就配置完成了,输入q退出配置


接下来设置挂载到服务器

全部完成后,现在新建一个你要挂载的目录:

mkdir -p /onedrive

用screen创建一个新的会话:

screen -S rclone

执行如下命令:

./rclone mount onedrive:backup /onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

解释下上面的参数:

onedrive:backup这个就是前面我们命名的name,backup是我们在onedrive上的文件夹名称,也可以写/设置为放文件在根目录,/onedrive这个是映射成的本地硬盘盘符,在前面步骤mkdir创建的,执行这个命令不会输出任何内容,会有个卡住的假象,只要直接关掉SSH客户端,重新进系统就行了,不出意外的话,就挂载成功了:

输入df-h查看

挂载完成,但是重启VPS系统,不会自动启动挂载,每次进系统都要执行一遍

screen -S rclone
./rclone-v1.48-linux-amd64/rclone mount onedrive:backup /onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

这样有点麻烦,因此还需要弄个自动启动,把自带的rclone服务写到开机启动项里面

先把rclone的可执行文件复制到/usr/bin:

cp /root/rclone-v*/rclone /usr/bin/rclone

新建一个rclone.service文件:

vi /usr/lib/systemd/system/rclone.service

写入:

[Unit]
Description=rclone
    
[Service]
User=root
ExecStart=/usr/bin/rclone mount onedrive:backup /onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
Restart=on-abort
    
[Install]
WantedBy=multi-user.target

重载daemon,让新的服务文件生效:

systemctl daemon-reload

现在就可以用systemctl来启动rclone了:

systemctl start rclone

设置开机启动:

systemctl enable rclone

停止、查看状态可以用:

systemctl stop rclone
systemctl status rclone

重启你的VPS,然后查看一下rclone的服务起来没,接着查看一下盘子挂上去没:

reboot
systemctl status rclone
df -h


要注意挂载在你VPS上的微软onedrive网络硬盘,你往里面存数据是要双向流量,也就是你先传到你的VPS,你的VPS再传到G DRIVE,所以流量是一进一出双向,如果你的服务器流量有限,而且是双向计算,那就要小心了



您可能还会对下面的文章感兴趣: