另一台设备只是 Ubuntu 服务器、已经安装了 rsync,并不等于它可以直接作为 Hyper Backup 的目标端。Hyper Backup 使用普通 rsync 协议时,需要连接到 Ubuntu 上运行的 rsync daemon;daemon 还必须定义一个可写的模块。
最容易填错的一项是“共享文件夹”:它不是 Ubuntu 的绝对路径,而是 /etc/rsyncd.conf 中方括号定义的模块名。本文以把备份写入 Ubuntu 的 /srv/hyperbackup 为例,说明从服务端配置到群晖验证的完整流程。
先明确 Hyper Backup 的目标类型
在 Hyper Backup 新建数据备份任务时,目标端不是群晖,就不要选择“Synology rsync 服务器”,应选择:
|
|
本文采用 rsync daemon 方式,默认 TCP 端口为 873。它适合可信局域网;如果要跨公网传输,优先用 VPN、Tailscale 或 SSH 加密方案,不要把 873 直接暴露到互联网。
Ubuntu 端准备目录和运行账户
登录 Ubuntu 后安装 rsync,创建一个不允许登录、只用于写入备份目录的系统账户:
|
|
这里的 rsyncbackup 是 rsync daemon 在服务器本地写文件时使用的账户。不要给它交互式 Shell,也不要把备份目录设成所有人可写。
创建 rsync daemon 模块
编辑配置文件:
|
|
写入以下内容;网段、用户名和路径应按你的环境替换:
|
|
[hyperbackup] 就是一个 rsync 模块。它把客户端看到的 hyperbackup 映射到服务器实际目录 /srv/hyperbackup。
| 配置项 | 作用 |
|---|---|
[hyperbackup] |
Hyper Backup 中要选择的“共享文件夹”名称 |
path |
Ubuntu 上实际保存备份数据的位置 |
read only = no |
允许 Hyper Backup 写入 |
auth users |
rsync 协议认证用户名,不是 Ubuntu 登录用户 |
hosts allow |
允许访问服务的网段;可进一步收窄为群晖单个 IP |
若群晖固定为 192.168.8.100,可以把 hosts allow 改为该地址,减少局域网内其他设备探测服务的机会。
设置 rsync 协议密码
rsync daemon 的认证账户和 Linux 登录账户可以完全无关。创建密码文件:
|
|
按 用户名:密码 一行一个账户写入,例如:
|
|
保存后限制读取权限:
|
|
不要把这份文件提交到 Git,也不要复用 Ubuntu 的登录密码。Hyper Backup 页面中的“用户账号”和“密码”应填写这里定义的值。
启动并确认 rsync daemon
不同 Ubuntu 版本或安装方式提供的 systemd 单元可能略有差异,先尝试由软件包提供的服务启动:
|
|
确认端口监听:
|
|
正常情况下会看到类似结果:
|
|
若提示 rsync.service not found,先检查系统中实际可用的 unit:
|
|
也可以用下面的命令临时验证配置是否能启动:
|
|
临时启动在重启后不会自动恢复;确认手动方式可用后,应根据 list-unit-files 的结果补齐对应服务或 socket 的开机启动配置,而不是长期依赖手工执行。
防火墙只放行群晖
如果 Ubuntu 启用了 UFW,假设群晖 IP 是 192.168.8.100,只允许它访问 TCP 873:
|
|
同时检查云服务器安全组、上游路由器或 VLAN ACL。ss 显示监听而群晖仍连不上时,问题通常就在这些网络策略之一。
先在命令行验证模块和写入
不要先在 Hyper Backup 里反复试错。先从另一台 Linux 电脑或群晖 SSH 终端列出模块:
|
|
输入 /etc/rsyncd.secrets 中设置的密码后,应能看到:
|
|
再试一次小文件写入:
|
|
在 Ubuntu 上确认:
|
|
能看到 rsync-test.txt,说明账号、密码、模块、目录权限和网络路径都已打通。测试完成后可删除该文件。
Hyper Backup 页面如何填写
回到群晖 Hyper Backup 的 rsync 目标页,按下面填写。
| 页面字段 | 示例值 | 说明 |
|---|---|---|
| 服务器类型 | rsync 兼容服务器 |
目标是普通 Ubuntu,不是另一台群晖 |
| 服务器 IP | 192.168.8.205 |
Ubuntu 的局域网地址 |
| 传输加密 | 局域网内可先关闭 | 关闭后走普通 rsync/TCP 873;跨公网不要这样用 |
| 端口 | 873 |
rsync daemon 默认端口 |
| 用户账号 | knightli |
对应 auth users |
| 密码 | rsync 密码文件中的密码 | 不是 Ubuntu 登录密码 |
| 共享文件夹 | hyperbackup |
对应 [hyperbackup],不是绝对路径 |
| 目录 | synology-nas |
模块目录下新建的子目录 |
若目录填写 synology-nas,最终数据会写入:
|
|
不要把“共享文件夹”填写为 /srv/hyperbackup。客户端通过 rsync 协议只能看到模块名,实际路径由服务器端配置决定。
常见问题排查
Hyper Backup 看不到共享文件夹
先运行模块列举命令。若没有 hyperbackup:
- 检查
/etc/rsyncd.conf是否真的有[hyperbackup]; - 检查服务是否已重启;
- 检查
list = yes和hosts allow是否把群晖挡住; - 查看
/var/log/rsyncd.log获取认证或路径错误。
能连上但提示认证失败
确认 auth users 与 /etc/rsyncd.secrets 左侧用户名完全一致;密码文件应为 用户名:密码,且权限为 600。特别注意 Hyper Backup 要填的是 rsync 密码,不是 SSH 或 Ubuntu 登录密码。
认证成功但无法写入
检查模块中的 read only = no,再检查本地目录权限:
|
|
rsyncbackup 必须对该路径拥有穿越和写入权限。若日志显示磁盘满、只读挂载或文件系统错误,应先处理存储问题,避免备份任务反复失败。
是否应该打开传输加密
普通 rsync daemon 的认证并不等同于完整的传输加密。可信局域网可以按风险评估暂时关闭;经过互联网、公共 Wi-Fi 或不可信网段时,使用 VPN、Tailscale,或改用 Hyper Backup 支持的 SSH 加密传输。无论采用哪种传输方式,备份任务本身仍应启用版本保留和定期恢复演练。
小结
群晖 Hyper Backup 备份到 Ubuntu 的关键不是安装 rsync,而是让 Ubuntu 提供一个可认证、可写入、受网络限制的 rsync 模块。记住这层映射即可:[hyperbackup] 是 Hyper Backup 中的共享文件夹,path = /srv/hyperbackup 才是 Ubuntu 上的真实目录。先用命令行列模块并写入一个测试文件,再配置 Hyper Backup,定位问题会快得多。