同步到 NFS 共享时路径中不需要的名称



我正在使用 NAS 备份我的文件服务器。NAS 通过 NFS 导出/share/Backup,NFS 作为/mount/qnap挂载在文件服务器上。我想跟踪哪些文件被重新同步,但不包括包含许多小文件的备份目录。因此,我正在运行两个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/

为什么第二个示例不像第一个示例那样工作?谢谢斯特凡

路径中的尾部斜杠对rsync很重要。请参阅文档。

rsync -avz foo:src/bar /data/tmp

这会递归地将所有文件从机器上的目录 src/bar 传输到本地机器上的/data/tmp/bar 目录中。文件以"存档"模式传输,确保在传输过程中保留符号链接、设备、属性、权限、所有权等。此外,压缩将用于减小传输的数据部分的大小。

rsync -avz foo:src/bar/ /data/tmp

源上的尾部斜杠会更改此行为,以避免在目标上创建额外的目录级别。您可以将源上的尾随/视为表示"复制此目录的内容",而不是"按名称复制目录",但在这两种情况下,包含目录的属性都会传输到目标上的包含目录。换句话说,以下每个命令都以相同的方式复制文件,包括它们对/dest/foo 属性的设置:

相关内容

最新更新