使用 Rclone + systemd 将任意 Linux 文件夹同步到 Google Drive

发布: (2025年12月7日 GMT+8 18:58)
3 min read
原文: Dev.to

Source: Dev.to

安装 rclone

sudo apt install rclone

检查版本:

rclone version

配置 Google Drive

运行配置向导:

rclone config
  1. 选择 n) New remote 并将名称设为 gdrive
  2. 选择远程类型 drive
  3. 对以下提示使用默认值:
    • Client ID:直接 Enter
    • Client Secret:直接 Enter
    • Scope1) Full access
    • Use auto configYes(rclone 会打开浏览器让你登录并授权)
    • Configure as a Shared Drive?No
    • Keep this remote?Yes

验证远程:

rclone lsd gdrive:

你应该能看到 Drive 中的文件夹。

选择要自动同步的文件夹

本地示例文件夹:

/home/arunkrish/workspace

它将上传到远程路径:

gdrive:workspace

为什么不使用 sync

rclone sync 会镜像源目录,意味着本地删除的文件也会在 Google Drive 上被删除——这不适合作为备份。
相反,使用 rclone copy,它只会上传新文件或已更改的文件,永远不会删除远程上的任何内容。

创建 systemd 自动上传服务

Service 单元

mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/gdrive-workspace.service

添加以下内容:

[Unit]
Description=Upload workspace to Google Drive

[Service]
Type=oneshot
ExecStart=/usr/bin/rclone copy /home/arunkrish/workspace gdrive:workspace --verbose --create-empty-src-dirs

Timer 单元

nano ~/.config/systemd/user/gdrive-workspace.timer

添加以下内容:

[Unit]
Description=Run workspace uploader every 5 minutes

[Timer]
OnBootSec=2min
OnUnitActiveSec=5min

[Install]
WantedBy=timers.target

启用并启动定时器

systemctl --user enable --now gdrive-workspace.timer

确认所有定时器

systemctl --user list-timers

你应该能在列表中看到 gdrive-workspace.timer

智能自动同步工作原理

  • Internet OFF → rclone 等待。
  • Internet ON → rclone 上传新文件。
  • 已上传的文件 不会 再次上传。
  • 本地删除的文件 不会 在 Drive 上被删除。

这提供了真正的云备份行为。

随时暂停同步(低流量模式)

暂停自动上传:

systemctl --user stop gdrive-workspace.timer

恢复:

systemctl --user start gdrive-workspace.timer

永久禁用:

systemctl --user disable gdrive-*.timer

手动上传(可选)

立即强制上传:

rclone copy /home/arunkrish/workspace gdrive:workspace

总结

rclonesystemd 结合使用,可为你提供:

  • 自动文件夹上传
  • 低流量使用
  • Drive 上不删除文件(安全备份)
  • 离线恢复能力
  • 随时暂停/恢复的完整控制

相较于官方同步客户端,这种设置更简洁、更强大。

Back to Blog

相关文章

阅读更多 »