我正在使用 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 属性的设置: