当前位置:首页 > 行业动态 > 正文

如何在CentOS 7上配置rsync服务器?

在CentOS 7中,安装和配置rsync服务器需要以下步骤:,,1. **安装rsync服务**: yum install -y rsync,,2. **修改 配置文件**:编辑 /etc/rsyncd.conf文件,设置相关参数如端口号、日志文件等。,,3. **创建密码文件**:生成包含用户名和密码的文本文件,并设置权限为600。,,4. **启动rsync服务**:执行命令 rsync --daemon启动rsync守护进程。,,5. **测试同步**:使用客户端进行数据同步测试,确保配置正确。

CentOS 7 使用 rsync 实现多服务器文件同步

如何在CentOS 7上配置rsync服务器?  第1张

一、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策略,可以提高系统的安全性和稳定性。

0