我想保留目标上不存在的文件的修改时间,但不更改已存在的文件,即使修改时间不同。我认为 rsync 和-t
非常--ignore-existing
适合此目的(参考下文)。
--times, -t 保留修改时间
--ignore-existing 跳过更新接收器上存在的文件
为了安全起见,我比较了两个命令的输出:
rsync -rlv --dry-run dir1 dir2
并rsync -rlv --ignore-existing --dry-run dir1 dir2
打印相同的 3 个文件,但这些文件实际上在目标上并不存在。
但是,rsync -rlvt --dry-run dir1 dir2
和rsync -rlvt --ignore-existing --dry-run dir1 dir2
打印了几百个文件。除了上述 3 个文件外,大多数文件都位于 dir2 中。--ignore-existing
与 结合使用时似乎不起作用-t
:两种情况下返回的行数相同。
每这个问题我也尝试过--size-only
,但是也没有帮助。
这是为什么?我应该怎么做才能实现我想要的行为?