我在这个问题上尝试做几乎同样的事情: Rsync:仅复制时间戳
但在这种情况下,一些操作系统文件已经被修改了......
有没有办法仅通过文件名来更改文件夹 A(原始)和 B(新)之间的时间戳...因为这两个地方的文件名仍然相同。
我在想也许可以使用 touch 脚本,但它似乎更难,如果有一个使用 rsync 的选项,它只是一个命令和 Bingo!
谢谢!
答案1
rsync 没有能力完成您想要的功能。但是,您很幸运,因为两组文件都在同一台机器上,因此您可以使用标志-r
将touch
一个文件的时间戳复制到另一个文件。
您可以使用find
复制日期/source/files
并设置时间戳/files/to/change
这将输出复制时间戳的命令,但实际上并不执行它们:
cd /source/files && find . -type f -exec echo touch -r '{}' /files/to/change/'{}' ';'
输出是您可以执行以复制时间戳的命令列表。我会将其中 1-2 个粘贴到 bash 中,并确保它们按预期执行(用于ls -l
检查前后两个文件的时间戳)。如果命令按预期执行,请重新运行该find
命令,但删除,echo
这样命令就会被执行,而不是像以前一样只列出。