一、实验环境

主机名
 网卡ip
 默认网关
用途
nfs-server
10.0.0.11
10.0.0.254
rsync服务器端
web-client01
10.0.0.12
10.0.0.254
rsync客服端
web-client02
10.0.0.13
10.0.0.254
rsync客服端

二、实验步骤

1.什么是rsync?
rsync是一款开源的,快速的,多功能的可实现全量及增量的数据备份同步的优秀工具,适用于多种操作系统之上。
2.rsync特性
1)支持拷贝链接文件特殊文件
2)可以排除文件或目录,类似打包命令tar的--exclude功能
3)可实现增量和全量备份数据功能
4)可以通过socket传输文件和数据

3.rsync在企业中的应用
1)把所有客户服务器数据同步到备份服务器
2)两台服务器之间定时同步数据
3)实现多台服务器数据实时备份机制(rsync+inotify/rsync+sersync)

生产场景集群架构服务器本分方案
1)针对公司重要数据混乱状况和领导提出备份全网数据的方案
2)通过本地打包备份,然后rsync+inotify/rsync+sersync把数据备份到一个固定的存储服务器上,然后在存储服务器上通过脚本检查并发送报警给管理员备份结果。
3)定期将IDE机房的数据备份到公司内部服务器上,防止机房火灾等不可抗因素。
rsync命令:
    rsync [OPTION...] SRC... [DEST]
        -a:表示归档方式传输文件
        -r:对子目录以递归模式(recursive)
        -v:详细模式输出
        -z:在传输过程中压缩
        -P:保持属性
        --exclude:排除
        --exclede-from:从什么什么排除
        --bwlimit:限速
    rsync -avz /etc/hosts  /tmp ---类似拷贝(cp)
    rsync -r --delete /null/ /data/ ---类似删除(rm)  

    Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
    Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

    rsync -avzP -e 'ssh -p 22' /etc/hosts/ [email protected]:/tmp   
    rsync -avzP -e 'ssh -p 22' [email protected]:/data/ /tmp/chen
    

4.守护进程(socket)的方式传输数据
1.1 服务端配置如下:
1)检查是否安装rsync,没有可使用yum来安装
rpm -qa rsync  
yum -y install rsync   
2)配置rsync配置文件
#Rsync server
#created by chen 2016.6.9
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 10.0.0.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[backup]
comment = backup by chen
path = /backup
#####################################
3)创建用户和共享目录
useradd rsync -s /sbin/nologin -M
mkdir /backup
chown -R rsync.rsync /backup
4)将密码文件写入到/etc/rsync.password,并授予权限
echo "rsync_backup:chen">/etc/rsync.password
chmod 600 /etc/rsync.password
5)启动rsync服务
rsync --daemon
6)检查端口是否开启
netstat -tunpl |grep 873   
lsof -i :873


1.2 客服端配置如下:
1)将密码文件写入到/etc/rsync.pasword
echo "rsync_backup:chen" >/etc/rsync.pasword
2)进行远程数据同步测试,是否能实现pull/push功能  

rsync -avz /tmp  [email protected]::backup --password-file=/etc/rsync.password

rsync -avz [email protected]::backup --password-file=/etc/rsync.password

    注意:rsync数据的推拉只能在客服端执行

5.客户端排除命令
rsync -avz --exclude=a  /data/ [email protected]::backup --password-file=/etc/rsync.password

rsync -avz --exclude={a..g} /data/ [email protected]::backup --password-file=/etc/rsync.password  

6.服务端排除命令
将如下命令放在/etc/rsyncd.conf(不常用)
exclude=a b  /tmp/chen

7.无差异备份(谨慎使用,存在一定的风险操作,一般在两台服务器之间数据需必须一样的时候使用)
rsync -avz --delete /tmp/ [email protected]::backup --password-file=/etc/rsync.password   

rsync -avz --delete [email protected]::backup /tmp --password-file=/etc/rsync.password

    
如需更详细步骤请点击:http://purify.blog.51cto.com/10572011/1768103