Linux Centos使用rsync进行文件同步

114 阅读1分钟

源服务器:CentOS 8.5.2111 x86_64(Py3.7.9)

目标服务器:CentOS 7.9.2009 x86_64(Py3.7.9)

设置SSH密钥对

在源服务器生成SSH密钥对

一路按回车就行

ssh-keygen
将公钥复制到目标服务器

这会自动将公钥添加到目标服务器的 authorized_keys 文件中

执行此命令时,需要输入目标服务器的密码,之后使用rsync同步文件就无需密码了

ssh-copy-id -i ~/.ssh/id_rsa.pub 目标服务器的用户名@目标服务器的IP

同步文件

谨慎使用 --delete 选项,因为它会永久删除目标位置上源目录中没有的任何额外文件。在执行这样的操作之前,确认你已经做好了必要的数据备份。

rsync -avz --delete --progress 源文件路径 目标服务器的用户名@目标服务器的IP:目标路径

各个选项的含义是:

  • -a 表示归档模式,它保留原有的符号链接、文件权限、用户组、时间戳等元数据。
  • -v 表示详细模式,会在传输过程中显示详细的处理信息。
  • -z 表示压缩数据传输,可以加快传输速度,尤其是对于网络连接速度较慢的情况。
  • --delete 删除目标目录中存在但源目录中不存在的文件和子目录,确保两边完全一致。
  • --progress 显示传输过程中的进度条,让你可以直观地看到传输状态。