Synology rsync 兼容客户端备份不工作?原因 + 分步解决指南

Synology rsync 兼容客户端备份不工作?原因与解决全流程

在使用rsync 兼容客户端(如 Linux 自带 rsync、Windows cwRsync、macOS 终端 rsync)与 Synology NAS 进行网络备份时,很多用户会遇到 “备份任务无法启动” 或 “中途中断” 的问题 —— 比如客户端执行 rsync 命令后提示 “连接超时”“权限被拒”,或备份进度卡在 0% 后报错 “无法读取远程目录”。rsync 作为轻量、高效的增量备份工具,是跨平台数据同步的常用选择,而 Synology NAS 虽原生支持 rsync 协议,但配置不当或客户端适配问题会导致备份失效。本文基于 Synology 官方技术文档,先拆解 “rsync 备份不工作” 的典型症状,再精准定位核心原因,提供 “服务启用→端口验证→认证配置→客户端调试” 的分步解决方案,帮你彻底解决 rsync 兼容客户端与 Synology 的备份难题。

一、rsync 兼容客户端备份不工作的 4 类典型症状

在排查问题前,需先明确 “rsync 备份失败” 的具体表现,避免与 “网络断连”“NAS 离线” 等基础问题混淆。若你的 rsync 兼容客户端出现以下场景,即可判定为本文针对的 “rsync 协议交互故障”:

1. 客户端连接 NAS 时提示 “连接超时”

  • 场景 1:Linux 客户端执行命令 rsync -avz /home/data/ admin@192.168.1.100::BackupModule /backup/ 后,终端持续等待,最终提示 “rsync: failed to connect to 192.168.1.100 (192.168.1.100): Connection timed out (110)”;
  • 场景 2:Windows cwRsync 客户端运行批处理脚本,弹出 “Connection refused - connect (10061)” 错误,无法与 Synology NAS 建立连接;
  • 特征:ping NAS IP(如 192.168.1.100)能通,但 rsync 连接失败,排除基础网络中断问题。

2. 认证阶段提示 “权限被拒”

  • 场景:客户端成功连接 NAS 后,输入 rsync 认证密码(或使用 SSH 密钥),终端提示 “rsync: auth failed on module BackupModule”(模块认证失败),或 “Permission denied, please try again”(密码错误);
  • 排查:确认密码正确且客户端账户在 NAS 中有备份权限,仍无法通过认证,排除 “账户密码错误” 基础问题。

3. 备份过程中频繁中断,进度无法推进

  • 场景:客户端与 NAS 建立连接并开始备份,前 10% 进度正常(如传输 1GB 数据),后续突然中断,终端显示 “rsync error: error in file IO (code 11) at receiver.c (753) [receiver=3.2.7]”;
  • 细节:中断后重新执行命令,仍在相同进度点失败,且 NAS 共享文件夹中仅残留部分备份文件,排除 “临时网络波动” 问题。

4. 客户端无法识别 NAS 的 rsync 模块

  • 场景:执行 rsync --list-only admin@192.168.1.100:: 命令(列出 NAS 的 rsync 模块),终端提示 “rsync: could not list modules from remote host: No such file or directory”,无法获取 NAS 配置的备份模块列表;
  • 验证:在 NAS DSM 中确认已创建 rsync 模块(如 “BackupModule”),但客户端无法识别,排除 “模块未创建” 问题。

二、rsync 兼容客户端备份不工作的 5 大核心原因

根据 Synology 官方文档的诊断结论,“rsync 备份失败” 本质是 “客户端与 NAS 的 rsync 协议交互存在断点”,具体可拆解为 5 类核心原因(表格整理逻辑与症状对应,清晰易懂):
核心原因
技术原理
对应典型症状
关键说明
1. Synology NAS 的 rsync 服务未启用
Synology NAS 默认禁用 rsync 服务,需手动在 “文件服务” 中开启,否则无法监听 rsync 请求(默认端口 873)
症状 1(连接超时)、症状 4(无法识别模块)
rsync 服务是 NAS 接收客户端备份请求的基础,未启用则客户端无任何连接入口
2. rsync 端口冲突或被防火墙拦截
rsync 默认使用 873 端口(TCP),若该端口被 NAS 其他服务占用(如自定义服务),或被 NAS / 客户端防火墙拦截,会导致连接失败
症状 1(连接超时、拒绝连接)
873 端口是 rsync 协议的 “通信通道”,端口不通则客户端与 NAS 无法建立基础连接
3. rsync 模块配置错误(NAS 端)
NAS 需配置 rsync 模块(指定备份路径、权限、认证方式),若模块路径不存在、权限不足或名称错误,客户端无法访问
症状 4(无法识别模块)、症状 2(权限被拒)
模块是 NAS 向客户端开放的 “备份入口”,配置错误会导致客户端无法定位备份目标
4. 客户端与 NAS 的认证方式不匹配
Synology rsync 支持 “密码认证”“SSH 密钥认证”“匿名访问” 3 种方式,若客户端认证方式与 NAS 配置不一致(如 NAS 需密钥,客户端用密码),会导致认证失败
症状 2(权限被拒)
认证是 rsync 备份的 “安全校验环节”,方式不匹配会直接阻断后续备份操作
5. 客户端 rsync 版本与 NAS 不兼容
Synology NAS 支持 rsync 3.0 及以上版本,若客户端使用过旧版本(如 rsync 2.6),会因协议特性差异导致交互失败
症状 3(备份中断)、症状 4(模块识别失败)
旧版本客户端不支持新版 rsync 的 “增量备份校验机制”“大文件传输优化”,易触发 IO 错误

三、分场景解决:rsync 兼容客户端备份问题的 6 步详细操作

针对上述原因,需按 “NAS 端配置→网络与端口验证→客户端适配” 的顺序操作,每一步均附带 Synology 官方推荐的操作路径与命令示例,确保不同系统客户端(Linux/Windows/macOS)均能适配:

步骤 1:在 Synology NAS 中启用并配置 rsync 服务(核心基础)

rsync 服务未启用是最常见原因,需在 NAS DSM 中完成基础配置,步骤如下:
  1. 启用 rsync 服务
    • 登录 Synology DSM 管理界面→进入「控制面板」→「文件服务」→切换到「rsync」标签页;
    • 勾选 “启用 rsync 服务”(核心开关),若需使用 SSH 加密的 rsync(通过 22 端口,更安全),同时勾选 “启用通过 SSH 的 rsync”(可选,适合公网备份);
    • 点击「应用」保存,此时 NAS 开始监听 rsync 默认端口 873(非 SSH 模式)或 22 端口(SSH 模式)。
  1. 创建 rsync 模块(客户端访问入口)
    • 在「rsync」标签页中,点击「rsync 模块设置」→「新增」,进入模块配置窗口:
      • 模块名称:自定义(如 “BackupModule”,客户端命令需与该名称完全一致,区分大小写);
      • 模块路径:选择 NAS 中用于接收备份的共享文件夹(如 “/volume1/Backup”,需确保该文件夹存在);
      • 权限:根据需求选择 “只读”(客户端仅能从 NAS 拉取数据)或 “读写”(客户端能向 NAS 推送数据,备份需选 “读写”);
      • 认证方式:
      • 公开:无需密码(适合内网信任环境);
      • 用户认证:需输入 NAS 本地账户(如 admin)密码(推荐,基础安全);
      • SSH 密钥:需在 NAS 中添加客户端的 SSH 公钥(适合频繁备份,免密码登录);
    • 点击「确定」完成模块创建,返回「rsync 模块设置」可看到新增模块(确保状态为 “启用”)。

步骤 2:验证 rsync 端口通畅性(排除端口拦截)

端口被拦截是 “连接超时” 的核心原因,需分别验证 NAS 端端口监听状态与客户端端口访问状态:
  1. 在 NAS 中验证 rsync 端口监听
    • 启用 SSH 功能(「控制面板→终端机和 SNMP→启动 SSH」),通过 PuTTY/Xshell 登录 NAS(账户为管理员);
    • 执行以下命令,检查 873 端口(非 SSH 模式)监听状态:
netstat -tuln | grep 873
    • 若输出 “tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN”,说明 873 端口正常监听;若未输出,需重新启用 rsync 服务并检查是否有端口冲突(如其他服务占用 873)。
  1. 在客户端验证端口访问
    • Linux/macOS 客户端:打开终端,执行以下命令(替换 NAS_IP 为实际 IP,如 192.168.1.100):
telnet NAS_IP 873  # 非SSH模式,验证873端口;SSH模式验证22端口:telnet NAS_IP 22
      • 若显示 “Connected to NAS_IP”,说明端口通畅;若显示 “Connection refused”,需排查防火墙;
    • Windows 客户端:打开 “命令提示符”,执行相同 telnet 命令(若提示 “telnet 不是内部命令”,需在「控制面板→程序→启用或关闭 Windows 功能」中勾选 “Telnet 客户端”)。

步骤 3:排查 NAS 与客户端的防火墙设置(放行 rsync 端口)

防火墙拦截是端口不通的主要原因,需分别配置 NAS 与客户端的防火墙规则:
  1. NAS 防火墙配置(放行 rsync 端口)
    • 进入 DSM「控制面板→安全→防火墙」→若 “防火墙配置文件” 为 “启用”,点击「编辑规则」;
    • 点击「新增」,创建 rsync 端口放行规则:
      • 规则名称:允许 rsync(873 端口);
      • 端口:目标端口 873(非 SSH 模式)或 22(SSH 模式),协议选择 “TCP”;
      • 源 IP:选择 “所有 IP”(内网环境)或客户端所在网段(如 192.168.1.0/24,更安全);
      • 动作:允许;
    • 点击「确定」并「应用」,确保规则优先级高于 “拒绝” 规则。
  1. 客户端防火墙配置(放行 rsync 进程)
    • Linux/macOS:执行 sudo ufw allow out 873/tcp(非 SSH 模式)或 sudo ufw allow out 22/tcp(SSH 模式),放行客户端的 rsync 出站请求;
    • Windows:进入「设置→隐私和安全→Windows 安全中心→防火墙和网络保护」→「允许应用通过防火墙」→点击「更改设置」→找到 “rsync”(或 cwRsync 进程),勾选 “专用” 和 “公用”,点击「确定」。

步骤 4:适配客户端与 NAS 的认证方式(解决权限被拒)

认证方式不匹配是 “权限被拒” 的核心原因,需根据 NAS 配置选择对应客户端认证方式(以常用的 “用户认证” 和 “SSH 密钥认证” 为例):

方式 1:用户认证(适合简单内网备份)

  • Linux/macOS 客户端:执行 rsync 命令时,在模块名称后指定 NAS 账户,示例(备份本地/home/data到 NAS 的 “BackupModule” 模块):
rsync -avz --password-file=/etc/rsyncd.passwd /home/data/ NAS账户@NAS_IP::BackupModule/
    • 说明:--password-file指定密码文件(需提前创建,内容为 NAS 账户密码,权限设为 600:chmod 600 /etc/rsyncd.passwd),避免每次输入密码;
  • Windows cwRsync 客户端:在批处理脚本中使用以下命令(注意路径格式为 cygdrive 格式,如/cygdrive/d/backup对应本地 D 盘 backup 文件夹):
rsync -avz --password-file=/cygdrive/c/rsync/rsyncd.passwd /cygdrive/d/backup/ NAS账户@NAS_IP::BackupModule/

方式 2:SSH 密钥认证(适合免密码频繁备份)

  1. 在客户端生成 SSH 密钥:
    • Linux/macOS:执行 ssh-keygen -t rsa,按回车默认路径(~/.ssh/id_rsa),无需设置密码(或按需设置密钥密码);
    • Windows cwRsync:打开 “cwRsync Terminal”,执行相同命令,密钥生成在/cygdrive/c/Users/用户名/.ssh/目录;
  1. 将客户端公钥上传到 NAS:
    • 登录 NAS DSM→「控制面板→用户账号→选中目标账户→编辑→SSH 密钥」→点击「添加」,将客户端公钥(~/.ssh/id_rsa.pub 或 Windows 对应路径的文件内容)粘贴到文本框,点击「确定」;
  1. 客户端执行 SSH 模式 rsync 命令(端口为 22):
rsync -avz -e ssh /home/data/ NAS账户@NAS_IP:/volume1/Backup/  # 直接指定NAS的备份路径,无需模块

步骤 5:验证客户端 rsync 版本兼容性(解决备份中断)

客户端版本过旧会导致协议不兼容,需检查并升级客户端版本:
  1. 检查客户端 rsync 版本
    • Linux/macOS:执行 rsync --version,查看版本号(需≥3.0.0,推荐 3.2.0+);
    • Windows cwRsync:打开终端执行 rsync --version,确保为 cwRsync 6.0+(对应 rsync 3.2.7+);
  1. 升级旧版本客户端
    • Linux:sudo apt update && sudo apt install rsync(Debian/Ubuntu)或 sudo dnf update rsync(CentOS/RHEL);
    • macOS:brew install rsync(需先安装 Homebrew)。

步骤 6:测试 rsync 备份任务(验证配置有效性)

完成上述配置后,需执行测试命令验证备份是否正常:
  1. 执行简单列表命令(验证模块识别)
# 非SSH模式:列出NAS的rsync模块rsync --list-only NAS账户@NAS_IP::# 若成功,会显示创建的模块(如“BackupModule”);SSH模式无需模块,直接列出NAS路径:ssh NAS账户@NAS_IP ls /volume1/Backup
  1. 执行增量备份测试(验证数据传输)
# 非SSH模式示例:备份本地test.txt到NAS模块echo "test data" > /home/test.txtrsync -avz /home/test.txt NAS账户@NAS_IP::BackupModule/# SSH模式示例:rsync -avz -e ssh /home/test.txt NAS账户@NAS_IP:/volume1/Backup/
  1. 验证备份结果
    • 登录 NAS DSM→打开「File Station」→进入备份路径(如/volume1/Backup),确认 “test.txt” 已存在且内容正确,说明备份成功。

四、常见疑问解答(FAQ):解决 rsync 备份的延伸问题

Q1:Windows cwRsync 客户端提示 “cygpath: command not found”,怎么办?

答:这是 cwRsync 的路径环境变量配置问题,解决方案:
  1. 找到 cwRsync 的安装路径(如C:Program FilescwRsyncbin);
  1. 右键「此电脑→属性→高级系统设置→环境变量→系统变量→Path」,点击「编辑」,添加 cwRsync 的 bin 路径;
  1. 关闭所有已打开的 cwRsync 终端,重新启动后执行命令,即可解决 “cygpath 未找到” 问题。

Q2:NAS 配置 rsync 模块后,客户端仍无法识别,提示 “模块不存在”,为什么?

答:核心是 “模块名称大小写不匹配” 或 “模块路径不存在”,解决方案:
  1. 确认客户端命令中的模块名称与 NAS 配置完全一致(如 NAS 为 “BackupModule”,客户端不能写 “backupmodule”,rsync 区分大小写);
  1. 在 NAS「File Station」中,检查 rsync 模块配置的 “模块路径”(如/volume1/Backup)是否存在,若不存在,需先创建该共享文件夹,再重新配置模块。

Q3:rsync 增量备份时,客户端提示 “文件已存在但未更新”,实际文件已修改,怎么办?

答:这是 rsync 的 “增量备份校验机制” 未触发,解决方案:
  1. 执行 rsync 命令时添加--checksum参数(基于文件校验和而非时间戳判断是否更新),示例:
rsync -avz --checksum /home/data/ NAS账户@NAS_IP::BackupModule/
  1. 若文件修改时间在 1 秒内(如脚本批量生成的文件),添加--modify-window=1参数(允许 1 秒内的时间戳差异),确保增量备份正常触发。

Q4:公网环境下用 rsync 备份,担心 873 端口不安全,如何加密传输?

答:推荐使用 “SSH 模式的 rsync”(通过 22 端口加密传输),操作要点:
  1. 在 NAS「rsync」标签页中,勾选 “启用通过 SSH 的 rsync”;
  1. 客户端执行命令时,添加-e ssh参数(指定 SSH 传输),示例:
rsync -avz -e ssh /home/data/ NAS账户@NAS公网IP:/volume1/Backup/
  1. 为增强安全,可在 NAS「控制面板→终端机和 SNMP」中,将 SSH 端口从 22 改为自定义端口(如 2222),客户端命令对应调整:
rsync -avz -e "ssh -p 2222" /home/data/ NAS账户@NAS公网IP:/volume1/Backup/

五、总结:保障 rsync 备份正常的 4 个核心要点

  1. 服务与模块是基础:确保 NAS 的 rsync 服务已启用,模块配置正确(名称、路径、权限无错误),这是客户端访问的前提;
  1. 端口与防火墙要通畅:rsync 默认 873 端口(非 SSH)或 22 端口(SSH)需放行,NAS 与客户端防火墙均需配置规则,避免拦截;
  1. 认证方式需匹配:客户端认证方式(密码 / 密钥)与 NAS 配置一致,避免因权限校验失败阻断备份;
  1. 版本兼容是关键:客户端 rsync 版本需≥3.0.0,避免因协议差异导致备份中断,老旧客户端及时升级。
通过本文的分步操作,你可高效解决 rsync 兼容客户端与 Synology NAS 的备份问题,满足 Linux/Windows/macOS 跨平台的数据同步需求。若操作后仍有疑问,可参考 Synology 官方文档的 “rsync 服务故障排除” 章节,或联系技术支持提供客户端命令日志、NAS 模块配置截图,获取针对性帮助。

推荐产品 / Product
点击查看更多
留言表单
姓名为必选
电话为必选
公司为必选
地址为必选
邮箱为必选
留言为必选

感谢您的提交

确 定

表单提交失败

确 定

Copyright © 2011-2020 北京群晖时代科技有限公司 版权所有 京ICP备2020037175号-2

  • TOP