rclone挂载谷歌网盘
-
运行 Rclone 官方安装脚本: 这个脚本会自动检测您的系统架构并下载安装最新稳定版的 Rclone。
Bash
curl https://rclone.org/install.sh | sudo bash -
验证安装: 运行以下命令查看版本号,如果成功显示版本信息,则表示安装成功。
Bash
rclone version
-
测试配置: 运行以下命令,如果能列出您 Google Drive 根目录的文件和文件夹,说明配置成功!
Bash
rclone lsd gdrive:(注意:
gdrive:冒号不能少,gdrive是您之前给远程连接起的名字)。
第二阶段:挂载 Google Drive
-
创建挂载点: 在您的主目录下创建一个文件夹,用来作为挂载点。
Bash
mkdir -p ~/gdrive -
执行挂载命令:
Bash
rclone mount gdrive: ~/gdrive --daemon-
rclone mount: 挂载命令。 -
gdrive:: 您配置的远程名称。 -
~/gdrive: 本地挂载点目录。 -
--daemon: 让 rclone 在后台运行,这样您关闭 SSH 连接后挂载依然有效。
-
-
验证挂载:
-
使用
df -h命令,您应该能看到一个类型为fuse.rclone的新文件系统。 -
使用
ls -l ~/gdrive命令,您应该能看到您 Google Drive 里的文件。
-
第三阶段:设置开机自动挂载 (Systemd)
为了让挂载持久化,我们创建一个 systemd 服务。
-
找到 rclone 的绝对路径:
Bash
which rclone通常输出是
/usr/bin/rclone。请记下这个路径。 -
创建 systemd 服务文件: 使用
vim或您喜欢的编辑器创建服务文件。Bash
sudo vim /etc/systemd/system/rclone-gdrive.service
第一步:编写服务文件
请将以下所有内容完整地复制并粘贴到您用 sudo vim /etc/systemd/system/rclone-gdrive.service 打开的文件中。
Ini, TOML
[Unit]
Description=Rclone Mount for Google Drive (/root/gdrive)
AssertPathIsDirectory=/root/gdrive
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/bin/rclone mount gdrive: /root/gdrive \
--config /root/.config/rclone/rclone.conf \
--allow-other \
--vfs-cache-mode full \
--vfs-cache-max-size 10G \
--dir-cache-time 1000h \
--buffer-size 128M \
--log-file /var/log/rclone-gdrive.log \
--log-level INFO
ExecStop=/bin/fusermount -u /root/gdrive
Restart=on-failure
RestartSec=10
[Install]
WantedBy=default.target
文件内容解释
-
[Unit]部分:定义了服务的描述、依赖关系(必须在网络连接后启动)和断言(挂载点目录必须存在)。 -
[Service]部分:-
User=root,Group=root: 使用您指定的root用户和组来运行。 -
ExecStart: 这是核心的启动命令。-
gdrive:: 这是您 rclone 远程的名称。如果您的远程不叫gdrive,请修改成您自己的名称。 -
/root/gdrive: 您的挂载点。 -
--config /root/.config/rclone/rclone.conf: 明确指定root用户的配置文件路径,确保 systemd 能正确加载。 -
--allow-other: 重要,允许系统上的其他用户(非root)也能访问挂载点中的文件。 -
--vfs-cache-mode writes: 开启VFS写入缓存,能显著提高文件写入和修改的性能和兼容性,强烈推荐。 -
--log-file /var/log/rclone-gdrive.log: 将 rclone 的运行日志输出到指定文件,方便日后排查问题。 -
--log-level INFO: 设置日志级别为“信息”,记录常规操作。
-
-
ExecStop: 定义了如何停止服务(即卸载磁盘)。 -
Restart=on-failure: 如果服务意外失败,10秒后自动重启。
-
-
[Install]部分:让服务可以被设置为开机自启。
第二步:后续操作
在您保存并退出 vim 编辑器后,请依次执行以下命令来启动和管理您的新服务。
-
(可选,但推荐)启用 –allow-other 选项
为了让 –allow-other 参数生效,需要编辑 fuse 的配置文件。
Bash
sudo nano /etc/fuse.conf找到
#user_allow_other这一行,去掉行首的#号,保存并退出。 -
重新加载 systemd 配置
让 systemd 读取您刚刚创建的新服务文件。
Bash
sudo systemctl daemon-reload -
设置开机自启
Bash
sudo systemctl enable rclone-gdrive.service -
立即启动服务
Bash
sudo systemctl start rclone-gdrive.service -
检查服务状态
这是验证一切是否正常运行的关键步骤。
Bash
sudo systemctl status rclone-gdrive.service如果您看到绿色的
active (running)字样,那么恭喜您,Google Drive 已经成功挂载,并会在每次服务器重启后自动挂载!如果服务启动失败,您可以通过sudo journalctl -u rclone-gdrive.service或查看/var/log/rclone-gdrive.log文件来定位问题。
Debian11需要先安装fuse3
-
确认 fuse3 已安装
确保您已经运行了:
Bash
sudo apt install -y fuse3 -
(如果需要)配置 allow_other
这个步骤仍然有效。如果您希望挂载的目录能被其他用户访问(例如,在 systemd 服务中),您还是需要编辑 /etc/fuse.conf 文件,并取消 user_allow_other 前面的注释符号 (#)。
Bash
sudo nano /etc/fuse.conf -
直接进行测试
现在,请注销并重新登录您的服务器(以确保 fuse3 安装后所有会话环境都已更新),然后直接运行我们的调试命令:
Bash
rclone mount gdrive: ~/gdrive -vv
恭喜您挂载成功!您的这个想法完全可行,而且是很多人使用 VPS 的一个经典应用场景。
这被称为“云端转存”或“云端对拷”。下面我为您详细解释这个过程,特别是您最关心的网络流量路径问题。
1. 更好的复制方法:使用 rclone copy 命令
相比于挂载后使用 cp 命令,rclone 提供了一个更高效、更强大的原生命令来进行云端对拷:rclone copy。
您甚至不需要挂载驱动器,只需要在 rclone 中配置好两个远程(比如一个叫 gdrive,一个叫 onedrive)即可。
命令如下:
Bash
# -P 参数可以实时显示进度
rclone copy gdrive:path/to/source onedrive:path/to/destination -P
使用 rclone copy 的网络流量路径有两种可能:
情况A:支持“服务器端复制” (Server-Side Copy)
某些云服务商之间允许 rclone 发起一个“服务器端复制”的请求。这意味着您在 VPS 上运行命令后,rclone 会告诉 OneDrive:“请你直接去这个 Google Drive 的地址下载文件”。
-
流量路径图:
[Google Drive 服务器] ---> (数据直传) ---> [OneDrive 服务器] -
您的 VPS 角色: 您的 VPS 仅作为“指挥官”,发送指令和处理少量元数据,几乎不消耗数据流量。这是最高效、最快的方式。
-
Google Drive 到 OneDrive: rclone 支持从 Google Drive 到 OneDrive 的服务器端复制!所以您非常幸运,可以使用这种最高效的方式。
情况B:不支持“服务器端复制”
如果云服务商之间不支持这种操作,rclone copy 的流量路径会和 cp 命令一样,仍然需要经过 VPS 中转。
-
流量路径图:
[Google Drive 服务器] ---> (下载) ---> [您的 VPS] ---> (上传) ---> [OneDrive 服务器] -
但即便如此,
rclone copy依然优于cp,因为它有以下优点:-
更高效: 专为云端 API 优化,可以多线程传输,自动重试失败的块。
-
数据校验: 传输完成后会进行文件校验(checksum),确保文件的完整性。
-
资源占用低: 比 FUSE 挂载方式更节省系统资源。
-
更稳定: 即使您的 SSH 连接断开,您也可以使用
nohup或screen/tmux等工具让它在后台稳定运行。
-
结论与建议
可以,您完全可以在 VPS 上实现 Google Drive 和 OneDrive 之间的文件复制。
强烈建议您使用 rclone copy 命令来完成这个操作,而不是先挂载再用 cp。因为 rclone 支持 Google Drive -> OneDrive 的服务器端复制,这意味着:
-
速度极快。
-
几乎不消耗您 VPS 的宝贵流量。
您只需要先用 rclone config 把 OneDrive 也配置好,然后就可以用一条简单的 rclone copy 命令开始您的数据“乾坤大挪移”了。