image-20210726210903267

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

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

Rclone配置

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

ba52417c158245d799efd027aa936166

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

挂载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:backupgd 为Rclone的配置名称,backup 为网盘里的目录名(注意后面的空格别漏了)

卸载 Google Drive 磁盘
fusermount -qzu /home/gdrive

挂载只要几秒钟,但终端不会返回成功信息,关闭 SSH 重连即可。

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

df -h

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

image-20210726205521727

接下来设置开机自动挂载,先把 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

image-20210726210217711

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

其他

其他问题可以参考 Rclone 帮助文档

https://rclone.org/googlecloudstorage/

Q.E.D.


鸡起犬眠,豕餐牛作。苏才郭福,姬子彭年。