CentOS安装和配置Rsync进行文件同步

时间:2024-01-11 12:14:20

Liunx系统实现文件同步不需要搭建FTP这类的工具,只需要按照Rsync配置下文件就可以。

本文以Centos7.0为例。

1. 首先关闭SELINUX(不关闭无法同步,权限太高了)

vi /etc/selinux/config #编辑防火墙配置文件
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存,退出
setenforce #立即生效

2. 服务端和客户端同时安装Rsync

yum install rsync xinetd #安装

3. 客户端和服务端同时新增配置文件(centos7 默认没有了,得单独手工建,否则无法启动)

vim /etc/xinetd.d/rsync

service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

4 修改服务端配置给客户端调用

vim /etc/rsyncd.conf

log file = /var/log/rsyncd.log #日志文件位置,启动rsync后自动产生这个文件,无需提前创建

pidfile = /var/run/rsyncd.pid  #pid文件的存放位置

lock file = /var/run/rsync.lock  #支持max connections参数的锁文件

secrets file = /etc/rsync.pass  #用户认证配置文件,里面保存用户名称和密码,后面会创建这个文件

motd file = /etc/rsyncd.Motd  #rsync启动时欢迎信息页面文件位置(文件内容自定义)

[test] #自定义名称

path = /data/ #rsync服务端数据目录路径

comment =rsync data comment #对那个文件夹进行描述

uid = root #设置rsync运行权限为root 推荐使用 nobody

gid = root #设置rsync运行权限为root 推荐使用 nobody

port=  #默认端口

use chroot = no #默认为true,修改为no,增加对目录文件软连接的备份

read only = no  #设置rsync服务端文件为读写权限

list = no #不显示rsync服务端资源列表

max connections =  #最大连接数

timeout =   #设置超时时间

auth users = test #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开

hosts allow = 192.168.21.129  #允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开

hosts deny = 192.168.21.254 #禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开

5 新增同步用户的配置文件保存密码

vim /etc/rsync.pass

test:

6. 对配置文件进行授权

chmod  /etc/rsyncd.conf  #设置文件所有者读取、写入权限
chmod /etc/rsync.pass #设置文件所有者读取、写入权限

7. 重启Rsync 是用软件生效

systemctl restart xinetd

8. 客户端开始同步

首先telnet端口:
telnet 172.16.120.18 服务端同步文件到客户端:
rsync -avz test@172.16.120.252::ftp /data 客户端同步文件到服务端 rsync -av /data/ test@172.16.120.252:ftp

其中/data/ 若后面不加"/" 那/data 就是表示本身同步过去,切记!