如何使用 rsync 维护远程克隆目录?

如何使用 rsync 维护远程克隆目录?

我拥有远程计算机的 SSH 访问权限(使用 SSH 密钥对)。我想让远程计算机上的目录与给定的本地目录完全相等(单向同步)。文件相等性的检查应基于二进制文件内容的哈希值(而不是大小/日期)。

  1. 执行该操作的正确 rsync 命令是什么(不是 rsync 服务)?
  2. 如何处理文件权限?
  3. 如何处理文件修改日期?
  4. rsync 对失败如何反应以及退出代码是什么?

答案1

Rsync 检查文件的内容,而不是日期和/或文件大小。如果内容不同但路径和名称相同,则文件将被覆盖。

rsync options source destination如果您想让远程目录与本地目录保持同步,rsync 的语法如下:

rsync -azh local_folder user@remote_server:/path/to/destination/

如果您想使用 SSH 作为传输协议,那么这对我来说是可行的:

rsync -azhe ssh local_folder user@remote_server:/path/to/destination

如何处理文件权限?如何处理文件修改日期?

a参数保留符号链接、文件权限、时间戳...如果您不想传输这些信息,只需将其从命令中排除,它将归您在 SSH 会话中登录的用户所有。

rsync 对失败如何反应以及退出代码是什么?

大多数命令/程序在成功时返回 0,在错误时返回其他数字。以下是 rsync 退出代码的列表以供参考

相关内容