跳到主要内容

在 Docker 中运行 Rclone 实现自动化云同步 — 使用 RcloneView 配置的无头备份

· 阅读需 4 分钟
Tayson
Senior Engineer

RcloneView 非常适合配置和监控云同步。但对于无头服务器、Kubernetes 集群或运行 Docker 的 NAS 设备呢?用 RcloneView 配置,用 Docker 部署。

RcloneView 是一款桌面应用程序——非常适合设置、监控和手动操作。但对于无头服务器上的全天候自动化备份而言,运行 rclone 的 Docker 容器才是理想之选。最佳工作流程是:在 RcloneView 中配置远程和测试任务,然后在 Docker 中部署相同的配置。

RcloneView 应用预览

在一个地方管理和同步所有云端

RcloneView 是 rclone 的跨平台 GUI。通过清爽的可视化界面比较文件夹、传输或同步文件,并自动化多云工作流。

  • 一键作业:复制 · 同步 · 比较
  • 调度器与历史记录,实现可靠的自动化
  • 支持 Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTP 等
WindowsmacOSLinux
免费开始使用 →

核心功能免费。Plus 提供自动化功能。

混合方案

配置与测试: RcloneView(桌面 GUI)
↓ (共享 rclone.conf)
部署与运行: Docker 容器(无头,自动化)

监控: Slack/Discord 通知

Docker 设置

基础 rclone Docker 容器

# docker-compose.yml
version: '3'
services:
rclone-sync:
image: rclone/rclone:latest
container_name: rclone-sync
volumes:
- ./rclone.conf:/config/rclone/rclone.conf:ro
- /data:/data
command: sync /data remote:backup --log-file=/tmp/rclone.log --log-level INFO
restart: unless-stopped

使用定时 cron

version: '3'
services:
rclone-cron:
image: rclone/rclone:latest
container_name: rclone-cron
volumes:
- ./rclone.conf:/config/rclone/rclone.conf:ro
- ./scripts:/scripts:ro
- /data:/data
entrypoint: /bin/sh
command: -c "while true; do /scripts/backup.sh; sleep 86400; done"
restart: unless-stopped

backup.sh

#!/bin/sh
echo "Starting backup: $(date)"
rclone copy /data remote:backup \
--transfers=8 \
--checkers=16 \
--log-level INFO
echo "Backup complete: $(date)"

先在 RcloneView 中配置

为什么要先在 RcloneView 中配置?

  • 可视化远程设置 — 使用 GUI 添加和测试远程,而不必编辑配置文件。
  • 测试传输 — 在自动化之前运行手动传输并验证其是否正常。
  • 文件夹对比 — 验证源和目标是否一致。
  • 导出配置 — RcloneView 使用标准的 rclone.conf 文件。
Configure remotes in RcloneView

导出配置

rclone 配置文件位于:

  • Linux~/.config/rclone/rclone.conf
  • macOS~/.config/rclone/rclone.conf
  • Windows%APPDATA%\rclone\rclone.conf

将此文件复制到你的 Docker 部署环境中。

使用场景

1) NAS Docker 备份

在你的 Synology 或 QNAP NAS 上运行 rclone Docker:

services:
backup:
image: rclone/rclone:latest
volumes:
- /volume1/rclone.conf:/config/rclone/rclone.conf:ro
- /volume1/data:/data:ro
command: copy /data b2:nas-backup --transfers=4

2) 服务器到云端备份

自动化将服务器目录备份到 S3:

services:
server-backup:
image: rclone/rclone:latest
volumes:
- ./rclone.conf:/config/rclone/rclone.conf:ro
- /var/www:/source:ro
- /var/backups/db:/db-backups:ro
command: copy /source s3:server-backup/www --transfers=8

3) 多云同步

为不同的同步任务运行多个容器:

services:
gdrive-to-b2:
image: rclone/rclone:latest
volumes:
- ./rclone.conf:/config/rclone/rclone.conf:ro
command: sync gdrive:important b2:gdrive-backup --transfers=4

onedrive-to-b2:
image: rclone/rclone:latest
volumes:
- ./rclone.conf:/config/rclone/rclone.conf:ro
command: sync onedrive:work b2:onedrive-backup --transfers=4

监控 Docker 中的 Rclone

健康检查

在你的 docker-compose 中添加健康检查:

healthcheck:
test: ["CMD", "rclone", "about", "remote:"]
interval: 1h
timeout: 30s
retries: 3

日志监控

挂载日志卷,并使用标准 Docker 日志功能进行监控:

docker logs rclone-sync --tail 50

通知

使用 rclone 内置的 webhook 支持,或将输出管道传递给通知服务。

使用 RcloneView 进行验证

定期从桌面端的 RcloneView 检查由 Docker 管理的备份:

Verify Docker backups from RcloneView

这可以让你直观地确认自动化备份是否正常运行。

快速上手

  1. 下载 RcloneView,从 rcloneview.com 获取以进行初始设置。
  2. 在 GUI 中配置并测试远程
  3. 导出 rclone.conf 到你的服务器。
  4. 部署 Docker 容器,配置你的同步命令。
  5. 定期从 RcloneView 验证

GUI 负责配置,Docker 负责执行。


相关指南:

支持的云服务商

Local Files
WebDAV
FTP
SFTP
HTTP
SMB / CIFS
Google Drive
Google Photos
Google Cloud Storage
OneDrive
Dropbox
Box
MS Azure Blob
MS File Storage
S3 Compatible
Amazon S3
pCloud
Wasabi
Mega
Backblaze B2
Cloudflare R2
Alibaba OSS
Ceph
Swift (OpenStack)
IBM Cloud Object Storage
Oracle Cloud Object Storage
IDrive e2
MinIO
Storj
DigitalOcean Spaces