rsync --ignore-times 参数在 Ubuntu 16.04 上不起作用

rsync --ignore-times 参数在 Ubuntu 16.04 上不起作用

我想基于 实现一个全面的备份脚本rsync,所以我现在只是尝试根据我的要求确定正确的参数。基本上,我希望任何更改的文件都应从源复制到目标,无论其修改时间如何(即,无论源文件是否比目标文件旧/新,如果内容不同,则应复制它)。但是,它不起作用:

../src/test.txt
../dst/test.txt

以上是文件夹结构。当我第一次运行以下命令时,它将test.txt从 src 复制到 dst 文件夹。

rsync -avh --ignore-times src/ dst/

然后,我修改了 src/test.txt 的内容并再次运行上面的命令,这次也将更新的文件复制到 dst 文件夹。

但是,我随后修改了 dst 文件夹中的 test.txt,并运行了上面的命令,但这一次,它不起作用,并且没有将文件从 src/ 复制到 dst/ 文件夹。但考虑到这个答案,它应该可以工作,因为我添加了参数--ignore-times

这是 Ubuntu 的错误,还是我做错了什么?我应该添加什么参数,以便在内容不同时(即使目标文件较新)始终将文件从源复制到目标?

编辑

我什至尝试添加--checksum仅基于校验和进行复制的参数,并完全忽略时间戳(如手册页所述)。但即便如此也不起作用。

答案1

由于某种原因,--archiveora模式似乎不适用于--ignore-timesor--checksum参数。然而,简单的递归复制模式(--recursiver)。因此,就我而言,以下内容完美地完成了工作:

rsync -vcr src/ dst/

相关内容