运行 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
命令开始您的数据“乾坤大挪移”了。