rsync 是否会覆盖我的 `./` 目录?

rsync 是否会覆盖我的 `./` 目录?

我是 rsync 的新手,但我注意到“接收增量文件列表”顶部是./

rsync 是否会覆盖目标./目录?目标中的时间戳./与源相匹配,因此我认为是的,而且我似乎无法使用--exclude './'或阻止这种情况--exclude '*/'

代码:

rsync -av user@host:/dir1/dir2/ /dir3/dir4/dir5/dir6

在伪代码中,我尝试将里面的所有文件 rsyncdir2host本地dir6机器上。

答案1

./../是操作系统默认创建的快捷方式。

./只是当前工作目录的快捷方式,因此它的时间戳将始终与您正在查看的目录的时间戳相匹配。

由于您使用存档标志,时间戳将被保留,从而与源匹配。

答案2

您能发布您正在运行的确切命令吗?了解您指定的选项以及源目录和目标目录会有所帮助。听起来您对源条目感到困惑。您需要指定是否要同步源目录的内容或整个目录本身。根据手册文档:

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

          rsync -av /src/foo /dest
          rsync -av /src/foo/ /dest/foo

相关内容