目 录CONTENT

文章目录

【保姆级教程】小鸡变身大盘鸡!VPS使用Rclone挂载OneDrive、Google Drive网盘!

咕咕
2022-07-20 / 0 评论 / 0 点赞 / 556 阅读 / 7292 字
温馨提示:
本文最后更新于 2024-02-22,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告 广告

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 fuse3  #debian

yum install fuse3   #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命令把本地目录/home/backup 同步到网盘的 rs2000_sync目录,忽略在网盘上已备份的文件,且需要显示同步的进度。

实现:

rclone sync /home/backup remote:rs2000_sync --progress --ignore-existing

在这个命令中:

  • sync 是同步操作。
  • /home/backup 是要同步的本地目录。
  • remote:rs2000_sync 是网盘上的目标目录,其中 remote 是您的网盘配置名称(请根据实际情况替换)。
  • --progress 选项用于显示同步进度。
  • --ignore-existing 选项用于忽略已经在目标目录中存在的文件。

请注意,在执行此命令之前,请确保已正确配置rclone以连接到你的网盘服务。如果还没有配置rclone,参考上文配置。

注意:

其实,如果没有加--ignore-existing,也不会默认再次上传之前已经存在的文件。

如果没有加 --ignore-existingrclone sync 命令会检查源目录和目标目录中的文件。如果目标目录中的文件与源目录中的文件有差异(例如文件内容或文件大小不同),rclone 将更新目标目录中的文件以与源目录保持一致。

rclone sync 会尽力确保目标目录与源目录保持一致。它会复制新增的文件、更新已更改的文件,并删除目标目录中源目录不存在的文件。这意味着,在默认情况下,它不会再次上传已经存在且未更改的文件。

所以这句命令存在的意义是什么呢,反正不加上也是增量同步?

来自ChatGPT的回答:

您是对的,rclone sync 默认执行增量同步,即使不使用--ignore-existing 选项。这个选项在某些特定情况下可能会有用。例如,如果您希望在同步过程中完全跳过目标目录中已存在的文件,而不是检查它们的差异,那么 --ignore-existing 可以加快同步过程。

在大多数情况下,您不需要使用 --ignore-existing 选项,因为 rclone sync 默认已经非常高效地执行增量同步。使用此选项可能对那些希望避免不必要的文件检查以节省时间或资源的用户有所帮助。

总之,--ignore-existing 选项的意义在于为用户提供更多的同步选项,以便根据特定需求进行调整。然而,在大多数情况下,不使用这个选项,rclone sync 仍然可以有效地完成增量同步。

其他

其他问题可以参考 Rclone 帮助文档 :https://rclone.org/googlecloudstorage/

0
广告 广告

评论区