介绍

rsync(remote sync)是unix及类unix平台下的数据镜像备份软件,它不像FTP那样需要全备份,rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高工作效率

rsync主要分为三个配置文件,分别是rsyncd.conf(主配置文件),rsyncd.secrets(密码文件),rsyncd.motd(服务器信息文件)

 

环境

centos7

IP:192.168.10.130   作为rsync服务器

centos7

IP:192.168.10.132  作为rsync客户端

 

服务端配置步骤

rsync在centos7中是默认安装好了的,我们直接开始修改配置文件。

# vim /etc/rsyncd.conf

linux下rsync文件同步配置详解_Linux

主配置文件说明

vim /etc/rsyncd.conf

motd file = /etc/rsyncd.motd    #设置服务器信息提示文件,在该文件中编写提示信息

transfer logging = yes    #开启rsync数据传输日志功能

log file = /var/log/rsyncd.log    #设置日志文件名,可通过log format参数设置日志格式

pid file = /var/run/rsyncd.log    #设置rsync进程号保存文件名称

lock file = /var/run/rsync.lock    #设置锁文件名称

port = 873    #设置服务器监听的端口号,默认是873

address = 192.168.0.230    #设置本服务器所监听网卡接口的ip地址

uid = nobody    #设置进行数据传输时所使用的帐户名或ID号,默认使用nobody

gid = nobody    #设置进行数据传输时所使用的组名或GID号,默认使用nobody

#若为yes, rsync会首先进行chroot设置,将根映射在下面的path参数路径下,对客户端而言,系统的根就是path参数指定的路径。但这样做需要root权限,并且在同步符号连接资料时只会同步名称,不会同步内容。

use chroot = no 

read only = yes    #是否允许客户端上传数据,yes表示不允许

max connections =10    #设置并发连接数,0表示无限制

[common]    #自定义模块名,rsync通过模块定义同步的目录,可定义多个

comment = web content    #定义注释说明字串

path = /common    #同步目录的真是路径通过path指定

ignore errors    #忽略一些IO错误

#exclude = test/    #exclude指定common目录下某个目录可以不同步数据

auth users = zzz    #设置允许连接服务器的账户,此账户可以是系统中不存在的用户

secrets file = /etc/rysncd_users.db    #密码验证文件名,该文件权限要求为只读,建议为600,仅在设置auth users后有效

hosts allow = 192.168.0.0/255.255.255.0   #设置哪些主机可以同步数据,多ip和网段之间使用空格分隔

hosts deny=*    #除了hosts allow定义的主机外,拒绝其他所有

list = false    #客户端请求显示模块列表时,本模块名称是否显示,默认为true

 

防火墙安全设置

#firewall-cmd --permanent --add-port=873/tcp    #添加防火墙规则,允许873端口的数据访问

#setenforce 0

linux下rsync文件同步配置详解_系统/运维_02

 

安装http服务

# yum install httpd –y

创建密码文件

#echo "zzz:123" > /etc/rsyncd_users.db

保证密码文件的安全

#chmod 600 /etc/rsyncd_users.db

 

开启服务

#rsync –daemon   # --daemon表示后台执行,客户端开启rsync不需要--daemon选项

echo "/usr/bin/rsync --daemon" >> /etc/rc.local    #开机启动rsync服务

 

客户端同步数据

yum -y install rsync

rsync -vzrtopg --progress zzz@192.168.10.130::wwwroot /test     #通wwwroot模块指定的目录下的文件拷贝到本客户端的/test目录下

参数说明

v:显示详细信息

z:传输过程中对数据进行压缩

r:递归

t:保留修改时间属性

o:保留文件所有者属性

p:保留文件权限属性

g:保留文件所属组属性

a:归档模式,主要保留文件属性,等同于-rlptgoD

--progress:显示数据传输的进度信息

--password-file=FILE:指定密码文件,将密码写入文件,实现非交互式数据同步,这个文件名也需要修改权限为600

--delete:删除那些仅在目标路径中存在的文件(源路径中不存在),在脚本中的数据同步经常加上此参数

--list-only:仅列出服务器模块列表,需要rsync服务器设置list=true