跳到主要内容

rsync同步数据时,如果目标文件比源文件还新,则忽略该文件,如何做?

参考答案:

在rsync同步数据时,如果你希望忽略那些目标文件比源文件还新的文件,可以使用--ignore-existing选项。这个选项告诉rsync忽略那些已经在目标目录中存在且比源文件更新的文件。

以下是使用--ignore-existing选项的rsync命令示例:

rsync -avz --ignore-existing source_directory/ destination_directory/

在这个命令中:

  • -a 表示归档模式,用于递归传输文件,并保持符号链接、文件属性、权限、时间戳等。
  • -v 表示详细模式,显示同步过程中的详细信息。
  • -z 表示压缩模式,在传输过程中启用压缩功能。
  • --ignore-existing 表示忽略那些在目标目录中已经存在且比源文件更新的文件。

这条命令将source_directory/目录中的文件同步到destination_directory/目录中,但不会覆盖那些目标目录中比源文件更新的文件。

请注意,使用--ignore-existing选项时,rsync将不会更新那些已经在目标目录中存在且比源文件更新的文件,即使源文件的内容有所更改也不会进行同步。如果你需要更新这些文件,那么不应该使用--ignore-existing选项。

如果你想要保留目标目录中比源文件更新的文件,并仅同步那些源文件比目标文件新或两者内容不同的文件,那么不需要添加任何特殊选项,因为rsync的默认行为就是这样。只有在源文件比目标文件新或者内容不同时,rsync才会进行同步。