rsync 不能直接同步网络共享目录,必须先将 smb/cifs 或 nfs 共享挂载为本地路径,再对挂载点执行 rsync 同步;也可通过 ssh 直接拉取远程主机上已挂载的共享目录。

Rsync 本身不直接挂载或访问网络共享目录(如 SMB/CIFS、NFS),它同步的是已挂载到本地文件系统的路径。所以“同步网络共享目录数据”的正确做法是:先将远程共享挂载为本地目录,再用 rsync 对该挂载点执行同步操作。
下面分三类常见场景说明具体操作:
挂载 SMB/CIFS 共享后同步
适用于 Windows 共享、Samba 服务器等。
先安装客户端工具并挂载:
sudo apt install cifs-utils # Debian/Ubuntu sudo yum install cifs-utils # RHEL/CentOS
创建挂载点并挂载(需提前新建目录):
sudo mkdir -p /mnt/winshare sudo mount -t cifs //192.168.1.100/share /mnt/winshare \ -o username=guest,password=,uid=$UID,gid=$(id -g),iocharset=utf8,vers=3.0
然后用 rsync 同步该挂载目录(例如推送到远程备份机):
rsync -avz --delete /mnt/winshare/ user@backup-server:/backup/winshare/
挂载 NFS 共享后同步
适用于 Linux/NFS 服务端。
确保已安装 nfs-utils:
sudo apt install nfs-common # Debian/Ubuntu sudo yum install nfs-utils # RHEL/CentOS
挂载 NFS 导出目录:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
sudo mkdir -p /mnt/nfsshare sudo mount -t nfs 192.168.1.200:/export/data /mnt/nfsshare
再执行同步(推荐加 -a 保留权限和时间戳):
rsync -aHAX /mnt/nfsshare/ /local/backup/nfs-data/
直接通过 SSH 访问远程主机上的共享目录(无需本地挂载)
如果目标共享目录已在远程主机上挂载(如 /mnt/remote-share),且你有 SSH 权限,可跳过本地挂载步骤,直接 rsync 拉取:
rsync -avz user@remote-host:/mnt/remote-share/ /local/mirror/
前提是远程主机已正确挂载该共享,并赋予 user 对该路径的读取权限。
注意事项
- 挂载时建议使用
noauto,x-systemd.automount等选项配合 systemd 实现按需挂载,避免开机阻塞 - 若共享目录含中文或特殊字符,挂载参数中务必指定
iocharset=utf8(CIFS)或nfsvers=4.1(NFS)等兼容选项 - rsync 同步前,可用
--dry-run -v先模拟运行,确认路径、权限和实际传输内容 - 避免在挂载点未就绪时执行 rsync,建议脚本中加入
mountpoint -q /mnt/share && rsync ...判断
不复杂但容易忽略










