1.1客户端部署:
1)进行测试传输备份数据:
NFS推送数据到rsync: rsync -avz /etc/hosts [email protected]::backup
2)如果想实现免交互方式传输数据,客户端要完成以下操作
1. 创建密码文件,并修改权限为600
echo "oldboy123" >> /etc/rsync.password
chmod 600 /etc/rsync.password
2. 进行免交换传输数据测试
rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync_password
1.1.1 rsync守护进程模式数据传输原理:
客户执行命令访问推送数据到服务器,首先会被拦截确认客户身份是否为认证用户,如果确认没错会询问认证用户对应秘钥,那么通过后进来服务器后身份会被转换为rsync身份,而备份目录也只有rsync才可以写入,所以刚好将数据写入(如果进来后是其他用户,则没有权限访问备份目录)
1.1.2 在实际工作中部署rsync软件方案
1. 在备份服务器上部署rsync软件服务,使用推的方式进行数据传输
定时和实时备份用于什么人员?
1)采用定时备份:备份的数据信息大部分是内部人员产生的
2)采用实时备份:备份的数据信息大部分是外部人员产生的
1.1.3 rsync命令参数说明(man rsync)
-v:输出详细信息(rsync是增量备份,没有数据传输,显示为空)
-z:压缩
-a:归档模式,包含-rtopgDl
-p:保存传输过去的文件权限不变
例:如何保持备份传输过去的文件权限不变 (-p的功能)
1)修改配置文件——uid gid = root
注:如果将uid和gid前面注释掉,会默认成功nobody用户
2)更改备份目录的属主为root
3)客户端在传输数据测试
-P:显示传输进度
-D:保持设备文件信息
--exclude=文件名 :排除的文件名
--exclude-from=file :排除的所有文件(将路径写入到这个文件中)
--delete:无差异同步(保存数据一致性)
--bwlimit=RATE:限速功能
-e:指定加密隧道方式传输数据,如ssh、rcp、rsh(不能用在守护进程备份方式)
例:rsync -avz -e "ssh -p22" /home/oldboy/oldboy_test.txt 172.16.1.41:/backup
1.1.5 rsync扩展应用说明
1. rsync服务特殊启动方法
利用xinetd服务启动rsync守护进程服务流程:
1)确认是否安装了xinetd服务软件
安装方法:
rpm -qa|grep xinetd
yum install -y xinetd
2)配置xinetd文件,让rsync服务允许被超级守护进程管理
vim /etc/xinetd.d/rsync
disable = yes 修改为no (意思就是允许xinetd管理)
3)确认rsync守护进程已关闭
netstat -lnptu|grep rsync
4)启动xinetd服务
/etc/init.d/xinetd start
2. 守护进程多模块功能配置
1)编辑配置文件,添加模块
vim /etc/rsyncd.conf
[backup]
comment = "backup dir by oldboy"
path = /backup
[devbackup]
comment = "backup dir by oldboy"
path = /devbackup
[sabackup]
comment = "backup dir by oldboy"
path = /sabackup
2)重启rsync服务
方法一:killall rsync
方法二:/etc/init.d/xinetd restart
3)创建其他备份目录,修改目录权限
chown -R rsync.rsync /{backup ,devbackup,sabackup}/
4)rsync客户端测试
rsync --delete -avz /etc/hosts [email protected]::sabackup --password-file=/etc/rsync.password
rsync --delete -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password
rsync --delete -avz /etc/hosts [email protected]::devbackup --password-file=/etc/rsync.password
3. 多模块多用户管理
1)创建多个用户(rsync、sa、dev)
useradd -M -s /sbin/nologin sa
2)修改rsync配置文件,创建多个模块
注:配置文件分为两部分:
1. 全局配置部分:对所有模块都生效
2. 局部配置部分:对指定模块生效
去掉全局配置的uid,gid,每个模块都写入对应的uid gid和对应的path路径
3)对每个模块的备份目录进行分别授权
chown -R rsync.rsync /backup/
chown -R sa.sa /backup/
chown -R dev.dev /backup/
4)重启服务
rsync --daemon
1.1.6 守护进程的排除功能实现
1. 创建测试环境:NFS服务器上操作
mkdir /oldboy/{a..d}
touch /oldboy/{a..d}/{1..3}.txt
2. 实现数据同步传输排除方法
1) --exclude实现排除需求:不要a和b 只要c目录所有数据 d目录中只要1和3文件
方法一:--exclude= 执行排除的文件或目录信息
rsync -avz /oldboy_dir/ --exclude=a --exclude=b --exclude=d/2 [email protected]::backup --password-file=/etc/rsync.password
方法二:--exclude-file= 指定排除的多个数据信息文件
1. 将exclude.txt文件从同步数据目录中移出
2.将exclude.txt排除文件放在/tmp/目录下
注:在这个排除文件中,要排除的每个文件或者目录,单独占一行
1.1.7 守护进程来创建备份目录
rsync -avz /oldboy_dir/c [email protected]::backup/ --password-file=/etc/rsync.password
注:无法实现创建多及目录(类似mkdir -p功能)
1.1.8 守护进程实现访问控制配置
白名单:hosts allow = 172.16.1.41/24
黑名单:hosts deny = 0.0.0.0/32
情况一:只有白名单
只允许白名单的用户访问
情况二:只有黑名单
允许不在黑名单的用户访问
情况三:白名单和黑名单中都没有的用户
最后结果:允许
情况四:白名单和黑名单中都有的用户
最后结果:允许
1.1.9 守护进程无差异同步配置
1. 实现无差异同步的方法:
rsync -avz --delete /oldboy_dir/ [email protected]::backup --password-file=/etc/rsync.password
注:客户端加参数- -delete
2. 无差异同步:就是存储与备份服务数据完全一致(我有的数据你也有,我没有的你也别想有)
1.1.10 守护进程的列表功能配置
1. 配置文件中:
list = true 可以让rsync客户端查看到rsync服务端的模块信息
list = false 不可以让rsync客户端查看到rsync服务端的模块信息
注:一般为false更安全,避免其他模块的用户知道信息后常识做一些手脚
2. 客户端查看方法:rsync -avz [email protected]::
原文地址:http://blog.51cto.com/13055758/2064434