站点图标 Linux-技术共享

小鸡变身大盘鸡!VPS使用Rclone挂载OneDrive、Google Drive网盘!

20210726210903有时候我们买了一台VPS,线路配置都不错,但是硬盘空间比较小,像搬瓦工,79刀,才20G的硬盘,随便放点东西就快占满空间了,有没有办法解决呢?

有的,搭配之前的E5提供的5TOneDrive免费空间,加上谷歌的团队盘,我们可以分分钟扩容我们的小鸡,让他变成一只大盘鸡!

Rclone配置
Rclone的配置见:https://blog.laoda.de/archives/aria2-rclone-filebrowser#toc-head-16



配置好了OD和GD,名字分别为od_bwg和gd

挂载GD
到这里结束配置 rclone,下面要把 Google Drive 网盘挂载到云主机/Vps 上和设置开机自启,自动挂载 Google Drive 网盘

首先安装fuse:

apt-get install fuse  #debian

yum install fuse   #centos
新建一个你要挂载的目录,例如我要挂载到/home/gdrive

mkdir -p /home/gdrive
再执行挂载命令:

rclone mount gd: /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes
gd 为Rclone的配置名称,比如你在创建配置 rclone 的时候 Name 填的 gd,/home/gdrive 为本地路径(注意空格别漏了);

这里还可以自定义设置网盘里的文件夹路径,例如:

rclone mount gd:backup /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes
gd:backup中gd 为Rclone的配置名称,backup 为网盘里的目录名(注意后面的空格别漏了)

卸载 Google Drive 磁盘
fusermount -qzu /home/gdrive
挂载只要几秒钟,但终端不会返回成功信息,关闭 SSH 重连即可。

重连后查看是否挂载成功:

df -h
有看到 gd,使用量和本本地主机路径即成功挂载:



接下来设置开机自动挂载,先把 rclone 的可执行文件复制到/usr/bin:

cp /usr/local/rclone/rclone /usr/bin/rclone
新建一个/usr/lib/systemd/system/rclone.service 文件

vi /usr/lib/systemd/system/rclone.service
内容为:

[Unit]
Description=rclone
 
[Service]
User=root
ExecStart=/usr/bin/rclone mount gd: /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes
Restart=on-abort
 
[Install]
WantedBy=multi-user.target
注意修改挂载命令为你主机的路径。

如果需要挂载多个网盘(比如我还要挂在一个OD),按上面的教程新运行个 Rclone 配置,再新建一个/etc/systemd/system/rclone2.service 文件:

vi /etc/systemd/system/rclone2.service
内容如下:

[Unit]
Description = rclone

[Service]
User = root
ExecStart = /usr/bin/rclone mount od_bwg: /home/odrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
Restart = on-abort

[Install]
WantedBy = multi-user.target
如果还有第三个,就以此类推,再新建一个/etc/systemd/system/rclone3.service 文件:

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

systemctl daemon-reload
用 systemctl 来启动 rclone

systemctl start rclone
systemctl start rclone2  #OD的
设置开机启动:

systemctl enable rclone
systemctl enable rclone2  #OD的
停止、查看状态可以用:

systemctl stop rclone
systemctl status rclone

systemctl stop rclone2  #OD的
systemctl status rclone2  #OD的
重启你的云主机/VPS:

reboot
重启后查看一下 rclone 的服务是否启动,GoogleDrive 是否正常挂载

systemctl status rclone
df -h


OK ! 完成.

如何上传、同步
为什么不直接把文件目录设置成挂载目录?如果直接把文件目录指定到挂载目录,会出现各种莫名其妙的错误,比如:文件无法写入、读取、保存到 Googlr Drive 的文件不完整等等奇葩的问题。

这里可以用同步命令,本地目录/home/backup 同步到网盘的 backup 目录

rclone sync /home/backup gd:backup
相反,把目录调整下,就是把网盘 backup 目录同步到 VPS 目录/home/backup

rclone sync gd:backup /home/backup
通过添加此参数--ignore-existing 可以忽略在网盘上已备份的文件,这相当于增量备份

rclone copy --ignore-existing /home/backup gd:backup
如果挂载 2 个网盘的话,可以同步配置名 gd2 的网盘里的 backup 目录,到配置名为 gd 的网盘的 backup 目录,反之亦然

rclone sync gd2:backup gd:backup
退出移动版