结合 rsync -t 和 --ignore-existing

结合 rsync -t 和 --ignore-existing

我想保留目标上不存在的文件的修改时间,但不更改已存在的文件,即使修改时间不同。我认为 rsync 和-t非常--ignore-existing适合此目的(参考下文)。

--times, -t 保留修改时间

--ignore-existing 跳过更新接收器上存在的文件

为了安全起见,我比较了两个命令的输出:

rsync -rlv --dry-run dir1 dir2rsync -rlv --ignore-existing --dry-run dir1 dir2打印相同的 3 个文件,但这些文件实际上在目标上并不存在。

但是,rsync -rlvt --dry-run dir1 dir2rsync -rlvt --ignore-existing --dry-run dir1 dir2打印了几百个文件。除了上述 3 个文件外,大多数文件都位于 dir2 中。--ignore-existing与 结合使用时似乎不起作用-t:两种情况下返回的行数相同。

这个问题我也尝试过--size-only,但是也没有帮助。

这是为什么?我应该怎么做才能实现我想要的行为?

相关内容