配置CentOS6下的rsyncd服务
rsync(Remote Sync)是一款快速、 versatile的文件同步工具,常用于数据备份、镜像和文件传输,在CentOS6系统中,通过配置rsyncd守护进程,可以实现高效的远程文件同步,本文将详细介绍如何在CentOS6上安装、配置和使用rsyncd服务,确保数据传输的安全与可靠。

安装rsync软件包
在CentOS6系统中,rsync通常已默认安装,但若未安装,可通过yum包管理器快速部署,执行以下命令检查rsync是否已安装:
rsync --version
若未安装,使用以下命令进行安装:
sudo yum install rsync -y
安装完成后,rsync命令即可使用,但若需启用rsyncd守护进程模式,还需进一步配置。
配置rsyncd.conf文件
rsyncd的核心配置文件为/etc/rsyncd.conf,若文件不存在,需手动创建,以下为基本配置示例:
uid = nobody gid = nobody use chroot = yes max connections = 4 pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log [backup] path = /data/backup comment = Backup directory read only = no auth users = backup_user secrets file = /etc/rsyncd.passwd
- uid/gid:指定运行rsyncd的用户和组,通常为nobody以提升安全性。
- use chroot:是否将用户限制在指定目录下,建议开启以增强安全性。
- max connections:限制最大并发连接数,防止资源耗尽。
- [backup]:定义一个同步模块,
path为同步目录路径。 - auth users:允许访问的用户名,与
secrets file中的用户对应。 - secrets file:存储用户密码的文件,格式为
username:password。
创建密码文件与权限设置
rsyncd的密码文件需单独创建,并确保权限为600(仅root可读写)。
echo "backup_user:your_password" | sudo tee /etc/rsyncd.passwd sudo chmod 600 /etc/rsyncd.passwd
密码文件中需包含认证用户的明文密码,但需注意保护该文件的安全,避免泄露。

启动rsyncd服务
配置完成后,启动rsyncd服务并设置为开机自启,CentOS6中使用以下命令:
sudo /etc/init.d/rsyncd start sudo chkconfig rsyncd on
可通过以下命令检查服务状态:
sudo service rsyncd status
若服务未启动,检查/var/log/rsyncd.log日志文件排查问题。
防火墙与SELinux配置
CentOS6默认启用iptables防火墙,需开放rsyncd默认端口873,编辑/etc/sysconfig/iptables,添加以下规则:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
重启防火墙使配置生效:
sudo service iptables restart
若启用SELinux,需调整策略以允许rsyncd访问目录,执行以下命令:

sudo setsebool -P rsync_export_all_ro=1
客户端连接测试
在客户端机器上,使用以下命令测试连接:
rsync -avz --password-file=/etc/rsync.pass backup_user@server_ip::backup /local/path
/etc/rsync.pass为客户端存储密码的文件(权限600),格式为your_password。
数据同步与定时任务
若需定期同步数据,可结合crontab实现自动化,每天凌晨2点执行同步:
0 2 * * * /usr/bin/rsync -avz --password-file=/etc/rsync.pass backup_user@server_ip::backup /data/backup
常见问题与优化
- 权限问题:确保rsyncd用户对同步目录有读写权限。
- 性能优化:若传输大文件,可调整
--bwlimit参数限制带宽占用。 - 日志监控:定期检查
/var/log/rsyncd.log,及时发现异常。
FAQs
Q1: 如何修改rsyncd的默认端口?
A1: 编辑/etc/rsyncd.conf文件,在全局配置中添加port = 自定义端口号,同时更新iptables规则放行新端口,重启rsyncd服务使配置生效。
Q2: rsyncd同步时提示“permission denied”如何解决?
A2: 检查三方面:
- 确认
/etc/rsyncd.conf中uid/gid对应的用户对同步目录有权限; - 检查SELinux状态,必要时使用
setsebool调整策略; - 验证客户端密码文件是否正确且权限为600。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复