rsyncing 到 NFS-Share 时路径中有不需要的名称
Posted
技术标签:
【中文标题】rsyncing 到 NFS-Share 时路径中有不需要的名称【英文标题】:Unwanted names in path while rsyncing to NFS-Share 【发布时间】:2016-01-14 18:05:27 【问题描述】:我正在使用 NAS 来备份我的文件服务器。 NAS 通过 NFS 导出/share/Backup
,它作为/mount/qnap
挂载在文件服务器上。我想跟踪哪些文件是 rsynced,但不包括包含许多小文件的 Backup-Dir。因此,我正在运行 rsync
的两个实例,一个带有 -v
,另一个没有。以下命令正常运行,执行后 /mount/qnap 上的目录结构与 /mount/btrfs-raid 相同。
rsync --delete -av --exclude Backup /mnt/btrfs-raid/ /mnt/qnap/
使用命令同步备份文件夹
rsync --delete -av /mnt/btrfs-raid/Backup /mnt/qnap/Backup
在 NAS 上生成以下目录结构:
/mnt/qnap/Backup/Backup/..Subdirectories
要获得我想要的结果,我必须从目标目录路径中删除最后一个“备份”:
rsync --delete -av /mnt/btrfs-raid/Backup /mnt/qnap/
为什么第二个例子不像第一个例子那样工作? 谢谢 斯蒂芬
【问题讨论】:
【参考方案1】:路径中的尾部斜杠对于rsync
很重要。见the documentation。
rsync -avz foo:src/bar /data/tmp
这将递归地将所有文件从机器 foo 上的目录 src/bar 传输到本地机器上的 /data/tmp/bar 目录。文件以“归档”模式传输,确保符号链接、设备、属性、权限、所有权等在传输过程中得到保留。此外,压缩将用于减少传输的数据部分的大小。
rsync -avz foo:src/bar/ /data/tmp
源上的尾部斜杠会更改此行为,以避免在目标上创建额外的目录级别。您可以将源上的尾随 / 视为“复制此目录的内容”而不是“按名称复制目录”,但在这两种情况下,包含目录的属性都会转移到目标上的包含目录.换句话说,以下每个命令都以相同的方式复制文件,包括它们对 /dest/foo 属性的设置:
【讨论】:
以上是关于rsyncing 到 NFS-Share 时路径中有不需要的名称的主要内容,如果未能解决你的问题,请参考以下文章