使用rsync
命令可以高效地在两台 CentOS 5 服务器之间同步文件,以下是详细的步骤:
前提条件
1、确保两台服务器之间可以通过SSH进行通信。
2、确认rsync
已安装在两台服务器上,如果未安装,可以使用以下命令安装:
sudo yum install rsync
基本用法
假设你要将源服务器上的目录/source/directory
同步到目标服务器的目录/destination/directory
。
从源服务器执行同步命令
在源服务器上,打开终端并运行以下命令:
rsync avz /source/directory/ user@destination_server:/destination/directory/
a
参数表示归档模式,保留所有文件属性。
v
参数表示详细模式,显示同步过程中的文件信息。
z
参数表示压缩传输,提高传输速度。
从目标服务器执行同步命令
你也可以从目标服务器发起同步请求:
rsync avz user@source_server:/source/directory/ /destination/directory/
示例
假设源服务器的IP为192.168.1.100
,目标服务器的IP为192.168.1.101
,源目录为/var/www/html
,目标目录为/var/www/backup
。
在源服务器上执行:
rsync avz /var/www/html/ user@192.168.1.101:/var/www/backup/
在目标服务器上执行:
rsync avz user@192.168.1.100:/var/www/html/ /var/www/backup/
使用 SSH 密钥认证
为了简化操作和提高安全性,推荐使用 SSH 密钥认证代替密码认证。
1、在源服务器生成 SSH 密钥对:
sshkeygen t rsa
按提示操作,通常可以直接回车使用默认设置。
2、将公钥复制到目标服务器:
sshcopyid user@destination_server
3、验证是否成功:
ssh user@destination_server
如果能直接登录而不需要输入密码,说明配置成功。
之后你就可以使用上述rsync
命令进行无密码的文件同步了。
注意事项
确保源目录和目标目录存在并且有正确的权限。
如果需要排除某些文件或目录,可以使用exclude
选项。
rsync avz exclude '*.tmp' /source/directory/ user@destination_server:/destination/directory/
对于大文件或大目录的同步,建议先测试小规模的数据以确保配置正确。
通过这些步骤,你应该能够成功地在两台 CentOS 5 服务器之间使用rsync
同步文件。