跳到主要内容

在 DietPi 上安装并使用 RcloneView 实现轻量级云同步

· 阅读需 14 分钟
Tayson
Senior Engineer

借助运行在 DietPi 上的 RcloneView,将你的树莓派或任何单板计算机变成一台强大的、全天候在线的云同步站点。

DietPi 是一款专为树莓派、Odroid、NanoPi 等单板计算机(SBC)设计的超轻量级 Debian 系统。它的磁盘占用仅约 400 MB,空闲时内存占用不到 100 MB,是运行全天候云同步方案的理想平台。将 DietPi 与 RcloneView 结合使用,你就能在成本不到一顿饭钱、功耗低于 5 瓦的硬件上,获得一套由 rclone 提供强大支持的、功能齐全的云文件管理图形界面。本指南将带你完成从安装 DietPi 到设置全天候自动备份计划的每一个步骤。

RcloneView 应用预览

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

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

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

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

为什么选择 DietPi 进行云同步?

在多个重要方面,DietPi 与标准的树莓派操作系统及其他 Linux 发行版都有所不同,这使它非常适合专用的云同步任务。

极低的资源占用。 DietPi 移除了不必要的服务、桌面环境和后台进程。一次全新的 DietPi 安装大约只占用 50-80 MB 内存,让绝大部分 SBC 资源可用于 rclone 传输和文件操作。

经过优化的软件目录。 dietpi-software 工具提供了一份经过精心整理的优化软件列表,安装时即自带正确的配置。这意味着更少的依赖排查时间,更多的云存储管理时间。

无头优先设计。 DietPi 从一开始就是为无头(headless)运行而构建的。你可以完全通过 SSH 进行管理,这正是放在储物间或挂在电视后面的专用同步设备所需要的。

广泛的 SBC 支持。 DietPi 支持超过 30 种 SBC 型号,包括树莓派(从 Zero 到 5 的所有型号)、Odroid(C4、N2+、XU4)、NanoPi、Pine64,甚至虚拟机。你的云同步方案可以在不同硬件之间自由迁移。

自动更新。 DietPi 通过自身的更新机制处理系统更新,让你的同步站点在无需人工干预的情况下保持安全。

前提条件与硬件建议

在开始安装之前,请准备好以下内容:

硬件要求:

  • 一台受支持的 SBC(推荐使用树莓派 3B+ 或更新型号以获得最佳性能)
  • MicroSD 卡(至少 16 GB,推荐 32 GB)或 USB SSD 以获得更好的 I/O 性能
  • 以太网连接(推荐用于可靠同步)或 WiFi 适配器
  • 与你的 SBC 相匹配的电源(树莓派 4/5 推荐使用 5V 3A)

软件要求:

  • dietpi.com 下载适用于你的 SBC 的 DietPi 镜像
  • 一款镜像烧录工具,如 balenaEtcher 或 Raspberry Pi Imager
  • 一个 SSH 客户端(macOS/Linux 终端内置,或 Windows 上的 PuTTY)

按 SBC 型号划分的性能考量:

SBC 型号内存推荐用途
Raspberry Pi Zero 2W512 MB轻量同步,单个远程
Raspberry Pi 3B+1 GB中等同步,2-3 个远程
Raspberry Pi 4/52-8 GB重度同步、多个远程、挂载
Odroid N2+4 GB高吞吐量传输
NanoPi R5S4 GB网络挂载式同步设备

安装 DietPi 和 Rclone

首先将 DietPi 烧录到 SD 卡或 SSD 中,然后启动你的 SBC 并通过 SSH 连接。

第一步:烧录并启动 DietPi。

下载适用于你硬件的 DietPi 镜像,使用 balenaEtcher 进行烧录,将存储介质插入你的 SBC 并开机。DietPi 会在首次启动时自动完成初始设置。

第二步:通过 SSH 连接。

ssh root@<your-sbc-ip>
# Default password: dietpi

首次登录时,DietPi 会引导你完成初始配置,包括修改密码、设置时区以及选择软件。

第三步:通过 dietpi-software 安装 rclone。

DietPi 的优化软件目录中已包含 rclone:

dietpi-software install 80

软件 ID 80 即为 rclone。这会为你的架构安装一份配置正确、经过优化的 rclone 版本。

你也可以手动安装最新版 rclone:

curl https://rclone.org/install.sh | sudo bash

第四步:验证安装。

rclone version

这会确认 rclone 已安装成功,并显示版本号及支持的后端。

使用外部 Rclone 设置 RcloneView

由于 SBC 上的 DietPi 安装通常以无头模式运行,你需要在外部 rclone 模式下使用 RcloneView。这样一来,运行在你桌面机器上的 RcloneView 就可以连接并控制运行在 DietPi 设备上的 rclone 实例。

external rclone model

第一步:在 DietPi 上启动 rclone 远程控制守护进程。

在你的 DietPi 设备上,启动启用了 RC(远程控制)接口的 rclone:

rclone rcd --rc-addr :5572 --rc-user admin --rc-pass yourpassword --rc-serve

如需持久化运行,可创建一个 systemd 服务:

sudo cat > /etc/systemd/system/rclone-rc.service << 'EOF'
[Unit]
Description=Rclone Remote Control Daemon
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=dietpi
ExecStart=/usr/bin/rclone rcd --rc-addr :5572 --rc-user admin --rc-pass yourpassword --rc-serve
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable rclone-rc
sudo systemctl start rclone-rc

第二步:将 RcloneView 连接到你的 DietPi rclone 实例。

在你的桌面机器上打开 RcloneView,切换到外部 rclone 模式。输入你的 DietPi 设备的 IP 地址、端口 5572,以及你所配置的凭据。

embedded rclone model

现在 RcloneView 已经在控制运行于你的 DietPi 设备上的 rclone 实例。所有文件操作、传输和挂载都在该 SBC 上执行。

在 DietPi 上添加云远程

在 RcloneView 连接到你的 DietPi rclone 实例后,你就可以通过图形界面添加云存储远程了。

Open multiple cloud remotes in RcloneView

对于基于 OAuth 的提供商(Google Drive、Dropbox、OneDrive):

由于 DietPi 通常以无浏览器的无头模式运行,你需要在拥有浏览器的机器上授权 OAuth 令牌,然后再转移配置。RcloneView 简化了这一流程:

  1. 在 RcloneView 中打开远程配置对话框。
  2. 选择你的云服务提供商(例如 Google Drive)。
  3. RcloneView 通过你桌面上的浏览器处理 OAuth 授权流程。
  4. 生成的令牌会被存储在你 DietPi 设备的 rclone 配置中。

对于兼容 S3 的提供商(AWS S3、Wasabi、Backblaze B2、MinIO):

S3 远程只需要访问密钥,因此在无头环境中也能顺畅运行:

  1. 在 RcloneView 中点击“新建远程”。
  2. 选择兼容 S3 的提供商。
  3. 输入你的访问密钥 ID、密钥、区域和端点。
  4. 测试连接并保存。

对于 SFTP/WebDAV 远程:

这些方式对于在你的 DietPi 设备与局域网内其他服务器之间进行同步特别有用:

  1. 在 RcloneView 中添加一个 SFTP 或 WebDAV 远程。
  2. 输入主机、用户名和身份验证信息。
  3. 保存并浏览该远程存储。

设置自动备份计划

在 DietPi 设备上运行 RcloneView 的最大优势之一,就是能够创建以极低功耗全天候运行的自动备份计划。

在 RcloneView 中创建同步任务:

首先,设置一个同步任务,定义要同步的内容以及同步的目标:

  1. 打开 RcloneView 的双栏浏览器。
  2. 选择源远程和目标远程。
  3. 配置同步选项(单向同步、双向同步或复制)。
  4. 将该配置保存为一个命名任务。
create job schedule

设置计划:

RcloneView 的任务调度功能可以让你定义同步任务运行的时间和频率:

  • 每日备份: 在网络流量较低的凌晨 2 点安排对重要目录的夜间同步。
  • 每小时增量同步: 对于关键数据,可以每小时运行一次增量同步。rclone 的差异检测机制确保只传输发生变化的文件。
  • 每周完整比对: 每周使用 --resync 安排一次 bisync,以捕获任何不一致之处。

将 cron 作为备用方案:

如果你更喜欢系统级的调度方式,也可以直接在 DietPi 上使用 cron:

crontab -e

添加如下条目:

# Daily backup at 2 AM
0 2 * * * rclone sync /mnt/data remote:backup --log-file /var/log/rclone-backup.log

# Hourly sync of critical documents
0 * * * * rclone copy /home/dietpi/documents remote:documents --max-age 1h

低功耗设备的资源优化

在 SBC 上运行 rclone 需要关注资源使用情况。以下是一些关键的优化建议:

内存管理:

# Limit rclone's memory usage with transfer settings
rclone sync source: dest: \
--transfers 2 \
--checkers 4 \
--buffer-size 16M \
--drive-chunk-size 32M

在内存为 1 GB 的树莓派上,这些设置可以防止 rclone 占用过多内存。内存为 4 GB 及以上的设备可以使用更高的数值。

I/O 优化:

MicroSD 卡的写入寿命和速度都有限。可以考虑以下策略:

  • 使用 USB SSD 作为本地存储和 rclone 缓存。这能显著提升传输速度并延长存储设备的使用寿命。
  • 谨慎启用 rclone 的 VFS 缓存。设置 --vfs-cache-max-size 来限制磁盘占用。
  • 将日志写入 tmpfs,以避免不必要的 SD 卡写入:
mkdir -p /tmp/rclone-logs
rclone sync source: dest: --log-file /tmp/rclone-logs/sync.log

网络优化:

# Limit bandwidth during peak hours
rclone sync source: dest: --bwlimit "08:00,512k 23:00,off"

这会在白天将带宽限制为 512 KB/s,并在夜间取消限制。

监控资源使用情况:

使用 DietPi 内置的监控工具来关注你的同步站点:

# Check memory usage
dietpi-process_tool

# Monitor disk I/O
iotop -o

# View rclone transfer stats
rclone rc core/stats
transfer monitoring

监控与故障排除

远程监控传输:

在 RC 守护进程运行的情况下,你可以在网络中的任何机器上通过 RcloneView 监控传输情况。实时传输监控面板会显示:

  • 带进度百分比的活跃传输
  • 传输速度和预计完成时间
  • 错误次数和重试状态
  • 带宽使用情况

常见的 DietPi 专属问题:

问题解决方案
OAuth 令牌过期通过桌面端 RcloneView 的 OAuth 流程重新授权
SD 卡 I/O 错误改用 USB SSD 或减少写入操作
大型同步过程中出现内存不足减小 --transfers--buffer-size
长时间传输过程中网络中断启用 --retries 10 --low-level-retries 20
Pi Zero 上传输速度慢限制为 --transfers 1 --checkers 2

查看任务历史:

RcloneView 会保留所有已执行任务的历史记录,让你能够轻松确认计划的备份是否成功完成。

job history

开始使用

在 DietPi 上设置 RcloneView,能将一台廉价的单板计算机变成一台专用的、全天候在线的云同步设备。DietPi 的极低资源占用与 RcloneView 直观的图形界面相结合,即使在资源最受限的硬件上也能轻松管理云存储。先从一个简单的单远程同步任务开始,确认它能可靠运行,随着信心的增长再逐步扩展到多个远程和自动化计划。


相关指南:

支持的云服务商

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