强制 rsync 覆盖目的地的文件,即使它们是较新的

jed*_*xel 61 command-line backup rsync

我有一个运行的 rsync 备份脚本,它还会在我询问时将文件还原回它们的来源。但是,如果我尝试恢复时目标文件比备份中的文件新,则不会替换它们。我真的想用备份中的文件替换较新的文件,但我看不到让 rsync 这样做的方法。

tldr:有没有办法强制 rsync 覆盖目的地的文件?

编辑:我一直在运行rsync -avhp当我想恢复备份时,我使用相同的命令并交换了“to”和“from”。因此,它尝试将文件从备份驱动器复制到我计算机上它们所属的位置。

小智 65

手册上说:

-I, --ignore-times   don't skip files that match size and time
Run Code Online (Sandbox Code Playgroud)

更多细节:

-I, --ignore-times
Run Code Online (Sandbox Code Playgroud)

通常 rsync 会跳过任何已经相同大小并具有相同修改时间戳的文件。此选项会关闭此“快速检查”行为,从而更新所有文件。

  • @mmm 这听起来像是 `--size-only` 选项。来自 rsync 人:“这修改了 rsync 的 lqquick checkrq 算法,用于查找需要传输的文件,将其从传输大小已更改或上次修改时间更改的文件的默认设置更改为仅查找大小已更改的文件。在使用另一个可能无法准确保留时间戳的镜像系统之后开始使用 rsync 时,这很有用。” (3认同)
  • 另请查看 --checksum 选项:“这改变了 rsync 检查文件是否已更改且需要传输的方式。” 请注意 I/O 性能开销。 (2认同)