yum install -y rsync
,,2. **修改配置文件**:编辑/etc/rsyncd.conf
文件,设置相关参数如端口号、日志文件等。,,3. **创建密码文件**:生成包含用户名和密码的文本文件,并设置权限为600。,,4. **启动rsync服务**:执行命令rsync --daemon
启动rsync守护进程。,,5. **测试同步**:使用客户端进行数据同步测试,确保配置正确。CentOS 7 使用 rsync 实现多服务器文件同步
一、rsync简介
rsync(remote synchronize)是一款开源的快速备份工具,支持多个操作系统,用于在多台服务器之间同步目录和文件,它采用增量传输方式,只传输新文件和修改过的文件,而不是每次都全部传输,因此效率非常高,rsync还支持本地复制、远程复制以及通过SSH通道传输数据。
二、rsync的特点
1、支持目录和文件的上传和下载功能:可以方便地将文件从一个位置同步到另一个位置。
2、镜像保存整个目录树和文件系统:确保源目录和目标目录完全一致。
3、传输效率高:只传输新增和修改过的文件,减少带宽占用。
4、支持增量备份:保持链接和权限,适合异地备份和镜像服务器。
5、多种传输模式:包括本地模式、远程shell模式和守护进程模式。
三、安装与配置rsync
1. 安装rsync
需要在服务器上安装rsync软件包,可以使用yum命令进行安装:
yum -y install rsync
2. 创建同步目录
在服务端和客户端创建需要同步的目录,在服务端创建/data
目录:
mkdir -p /data
3. 配置rsync
编辑配置文件/etc/rsyncd.conf
,添加以下内容:
uid = nobody gid = nobody use chroot = no max connections = 100 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid address = 192.168.0.146 [common] path = /data comment = hi,luhuaxiang ignore errors read only = no auth users = luhuaxiang secrets file = /etc/rsyncd.secrets list = false
4. 创建用户密码文件
在服务端创建密码文件/etc/rsyncd.secrets
,并设置适当的权限:
echo "luahuaxiang:123456" > /etc/rsyncd.secrets chmod 600 /etc/rsyncd.secrets
5. 配置防火墙规则
为了允许rsync通信,需要在防火墙中开放873端口:
firewall-cmd --permanent --add-port=873/tcp systemctl restart firewalld.service
6. 启动并启用rsync服务
启动并设置rsync服务开机自启:
systemctl start rsyncd systemctl enable rsyncd
四、使用rsync进行文件同步
1. 从客户端同步文件到服务端
在客户端执行以下命令,将本地目录/data
同步到服务端的/data
目录:
rsync -avz --password-file=/etc/rsync.passwd /data/ luhuaxiang@192.168.0.146::common
2. 从服务端同步文件到客户端
同样,在客户端执行以下命令,将服务端的/data
目录同步到本地目录/data_backup
:
rsync -avz --password-file=/etc/rsync.passwd luhuaxiang@192.168.0.146::common /data_backup/
五、实现定时自动同步
为了实现定时自动同步,可以编写一个Shell脚本,并使用crontab进行调度。
1. 编写同步脚本
创建一个名为sync_script.sh
的脚本,内容如下:
#!/bin/bash rsync -auvz --password-file=/etc/rsync.passwd luhuaxiang@192.168.0.146::common /data_backup/
赋予脚本执行权限:
chmod +x sync_script.sh
2. 设置定时任务
使用crontab设置定时任务,例如每分钟执行一次:
crontab -e
添加以下内容:
* * * * /path/to/sync_script.sh
保存并退出编辑器。
六、常见问题及解决
1. 认证失败
确保密码文件中的用户名和密码正确,并且文件权限设置为600,检查防火墙设置,确保873端口已开放。
2. 同步过程中出现错误
检查日志文件/var/log/rsyncd.log
,查看具体的错误信息,如果忽略错误,可以在配置文件中添加ignore errors
参数。
rsync是一款功能强大且高效的文件同步工具,适用于各种场景的文件备份和同步需求,在使用rsync时,建议定期检查配置文件和日志文件,确保同步任务按预期进行,合理设置防火墙规则和SELinux策略,可以提高系统的安全性和稳定性。