Rsync数据同步服务

Posted mendermi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rsync数据同步服务相关的知识,希望对你有一定的参考价值。

一、srync三种操作方式

 

1、本地间传输相当于cp命令

例1:将etc/hosts推送到/tmp下 rsync /etc/hosts /tmp 
【1.1】数据同步 
源文件追加内容:echo “‘hostname -I‘ www.yunjisuan.com”>> /etc/hosts 
【1.2】同步数据(只同步目标文件没有得内容)rsync /etc/hosts /tmp 
例2:目录推送 
【2.1】将根下得bent目录推送到/tmp下 rsync -avz /root/bent /tmp 
【2.1】删除目标目录比原目录多于得数据 参数:--delete 
删除/tmp下多余得数据,使目标目录与原目录完全一致。rsync -avz /root/bent /tmp/ --delete

 

特别提示:请注意以下两条命令的差别:

【1】rsync -avz /opt/ /tmp/ 
【2】rsync -avz /opt /tmp/ 
/opt/的意思是,仅把/opt/目录里面的内容同步过来,opt目录本身并不同步;而后者【2】中/opt表示把opt本身及其内部内容全都同步到/tmp下,仅一个/(斜线之差),意义大不相同,请同学们注意使用的差别。 
在后边要讲的通过远程shell进行数据传输的内容也会有类似的问题,请牢记。

 

2、远程传输

准备事项:要用多台虚拟机。需要装远程传输得插件包也就是ssh得远程支持包(如果本机有scp命令则支持远程传输,如果没有则需安装openssh-clients)。必须知道对方root用户得密码。默认传输得是22端口,如果对方不是22端口,则需指定对方端口号进行远程同步。远程连接得配置文件 /etc/ssh/sshd/config 
例1:将本地服务器得数据推送到另一台服务器上 rsync -avz /root/bent [email protected]:/tmp 
说明: 
[email protected]表示对方服务器得登录地址 
表示为指定对方服务器得存放位置

 

3、多组服务器之间,以socket进程得方式启动rsync进程进行监听

【3.1】连接原理:客户端要告诉服务端两点,1、要推送给配置文件的哪个模块,服务端就会按照要求放在相应的位置。2、需要验证每个模块下的用户名和密码。 
【3.2】操作流程---服务端设置

1、手动写rsync得配置文件,vim/etc/rsyncd.conf 
下图为模板: 
技术分享图片

uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[backup]
path = /backup/
ignore errors
read only = false
list=false
hosts allow = 192.168.200.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password


 2、创建共享目录/backup
 3、添加程序用户 useradd -M -s /sbin/nologin rsync
 4、启动服务 rsync --daemon
 5、更改共享目录的属主 chown -R rsync.rsync /backup
 6、创建rsync虚拟账号和密码
 echo "rsync_backup:123456" >> /etc/rsync.password
 7、将账号密码文件的权限设置为600  chmod 600 /etc/rsync.psaaword
 8、加入开机自启动 echo "rsync --daemon" >> /etc/rc.local
 9、关闭防火墙 service iptables stop

【3.3】操作流程---客户端设置

1、创建密码文件 echo "123456" > /etc/rsync.password
2、设置密码文件权限为600 chmod 600 /etc/srync.password
 

4、同步测试

【4.1】将客户端指定目录内容推送到服务器端rsync指定目录下  rsync -avzP /backup/ [email protected]::backup --password-file=/etc/rsync.password
命令说明:
-avz:保持稳健各项属性不变,-v显示同步信息 -P显示具体同步过程
/backup/:要推送的内容所在目录
rsync_backup:服务器端rsync服务的同步的用户名(非Linux用户)
192.168.197.129:rsync服务器IP地址
backup:rsync服务器配置文件里的模块名
--password-file=/etc/rsync.password:免密码的操作,指定密码文件位置,如果不写,则会要求用户交互式输入密码。(如果想挂定时任务,必须得非交互式)

注意事项: 
1、远程同步时需要关闭防火墙 service iptables stop 
2、重启rsync服务的方法: 
【2.1】pkill rsync 关闭 
【2.2】rsync --daemon 启动 
3、rsync的socket进程监听873端口























以上是关于Rsync数据同步服务的主要内容,如果未能解决你的问题,请参考以下文章

Rsync:非常实用的同步文件命令。

Rsync+sersync实现数据实时同步

数据同步服务Rsync

使用rsync实现服务器数据同步备份

centos7服务搭建常用服务配置之二:Rsync+sersync实现数据实时同步

rsync与inotify实现数据实时同步