rsync备份服务配置

一.rsync概念

rsync:开源,快速,多功能,实现全量和增量的本地或远程数据同步
全量备份:本地所有数据进行传输复制,无论对端是否存在此数据,效率低,速度慢
增量备份:只备份传输新增数据到对端,效率高,速度快

二.rsync软件命令(scp/cp/rm/ls)

(1)rsync===scp 传输数据
远程传输文件:
例:
[[email protected] /]#scp -rp /oldboy/test01 172.16.1.31:/tmp
[[email protected] /]#rsync -rp /oldboy/test02 172.16.1.31:/tmp
远程传输目录:
例:
[[email protected] /]#rsync -rp /oldboy 172.16.1.31:/tmp
[[email protected] /]#rsync -rp /oldboy/ 172.16.1.31:/tmp
[[email protected] /]#scp -rp /oldboy/ 172.16.1.31:/tmp
注:
如果传输目录时/oldboy_dir/表示将目录下面的数据内容进行传输
如果传输目录时/oldboy_dir表示将目录本身及目录下内容传输
(2)rsync===cp复制传输
例:[[email protected] /]#rsync -a /oldboy/test02 172.16.1.31:/tmp 复制传输目录文件
(3)rsync===rm
例:[[email protected] /]#rsync -r --delete /oldboy/ 172.16.1.31:/tmp 递归删除目录
(4)rsync===ls
例:[[email protected] /oldboy]#rsync /oldboys

三.rsync实现增量同步原理说明

“quick check”,实现增量复制传输数据
centos5 rsync为2.X版本算法,先比对完再传输
centos6 rsync为3.X版本算法,一边比对,一边传输,效率较高

四.软件服务特点(7点)

1.实现排除同步数据
2.加密传输数据(借助加密ssh协议)
3.数据传输认证机制
4.socket守护进程方式,传输数据
5.保持数据传输属性信息不变
6.传输普通/特殊文件(连接文件,设备文件)
7.支持数据增量传输

五.rsync服务工作方式(3种)

(1)实现本地数据传输备份
[[email protected] /]#rsync -a /oldboy/test02 172.16.1.31:/tmp
(2)实现ssh远程数据传输备份
rsync -avz -e "ssh -p22" /home/oldboy/oldboy_test.txt 172.16.1.41:/backup
(3)实现socket守护进程数据传输
rsync -avz /oldgirl/5.txt [email protected]::backup

六.守护进程传输部署

服务端:

(1)检查rsync软件是否存在
rpm -qa | grep rsync 查看是否存在
yum -y install rsync 安装软件
(2)配置rsync软件文件(/etc/rsyncd.conf)
配置文件:/etc/rsyncd.conf(默认不存在,自行编写)
vim /etc/rsyncd.conf 编辑配置文件

rsync备份服务配置

文本:

#rsync_config
#created by LP at 2018
##rsyncd.conf start##

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
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password

[backup]
comment = "backup dir by oldboy"
path = /backup

(3)创建备份目录管理用户
useradd -s /sbin/nologin -M rsync 创建程序(虚拟)用户
id rsync 查看用户信息
(4)创建认证用户密码文件
echo “rsync:123456” > /etc/rsync.password 设置用户密码文件
chomd 600 /etc/rsync.password 设置配置文件权限为只读
(5)创建备份目录
mkdir /backup
chown -R rsync:rsync /backup/ 将所创目录属组设为认证用户
(6)启动rsync服务(端口:873)
rsync --daemon 启动守护进程

客户端配置:
(1)客户端验证
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup 传输数据到客户端

七.客户端部署免密钥传输数据流程(--password-file)

(1)创建密码文件,并进行修改权限为600
echo "123456" >>/etc/rsync.password
chmod 600 /etc/rsync.password
(2)进行免交互传输数据测试
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

八.rsync参数选项

1.-avz
-v 表示:显示详细信息
-z 表示:传输是进行压缩提高传输效率
-a(rtpP) 表示:递归传输数据,保持文件属性
2.-rp
-r 表示:表递归传输
-p 表示:保持权限不变
3.-t
-t 表示:保持时间信息
4.-P
-P 表示:显示同步过程及传输进度信息
5.-e
-e 表示:信道协议-----ssh
例:
rsync -avz -e "ssh -p22" /home/oldboy/oldboy_test.txt 172.16.1.41:/backup
ssh远程登录传输数据
6.--delete
--delete 表示:无差异同步数据(本地和rsync服务端数据同步)
例:rsync --delete -avz /home/oldboy/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
7.--exclude
--exclude 参数指定排除的文件或目录信息
例:rsync -avz /oldboy_dir/ --exclude=a --exclude=b --exclude=d/2 rsync_backup@172.16.1.41::backup--password-file=/etc/rsync.password
8.--exclude-from
--exclude-from 参数指定排除多个数据信息文件
例:rsync -avz /oldboy_dir/ --exclude-from=/oldboy_dir/exclude.txt [email protected]::backup--password-file=/etc/rsync.password

九. rsync服务扩展

1.rsync服务特殊启动方法--------------xinetd”大管家,超级守护进程”

方式一:利用xinetd启动rsync服务
步骤:
(1)确认是否安装了xinetd (rpm -qa | grep xinetd)
(2)yum -y install xinetd 安装xinetd软件
(3)配置xinetd文件,让rsync服务允许被超级守护管理
vim /etc/xinetd.d/rsync

rsync备份服务配置

(4)确保rsync服务是关闭的 killall rsync
(5)启动xinetd服务 /etc/init.d/xinetd start
(6)查看rsync服务是否存在即可

方式二:让rsync守护进程开机自启动
echo "rsync --daemon" >>/etc/rc.local

2. rsync多模块配置
方式一(单用户多模块):
(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)设置目录属主/属组
mkdir /{backup,devbackup,sabackup}/ -p
chown -R rsync.rsync /{backup,devbackup,sabackup}/
(3)重启rsync服务
killall rsync && rsync --daemon
/etc/init.d/xinetd restart
(4)客户端测试

方式二(多用户多模块):
(1)生成3个备份目录管理用户
useradd -s /sbin/nologin -M rsync
useradd -s /sbin/nologin -M sa
useradd -s /sbin/nologin -M dev
(2)编写修改rsync配置文件
[backup]
uid = rsync
gid = rsync
comment = "backup dir by oldboy"
path = /backup
[devbackup]
uid = dev
gid = dev
comment = "backup dir by oldboy"
path = /devbackup
[sabackup]
uid = sa
gid = sa
comment = "backup dir by oldboy"
path = /sabackup
(3)对备份目录进行分别授权
chown -R rsync.rsync /backup/
chown -R sa.sa /sabackup/
chown -R dev.dev /devbackup/
(4)重启服务
killall rsync && rsync --daemon

3.黑白名单访问策略
(1)只有白名单,没有黑名单,只按白名单执行,默认规则是阻止
(2)没有白名单,只有黑名单,按黑名单执行,默认规则是允许
(3)默认规则允许,白名单优于黑名单
4.守护进程无差异同步配置
--delete 实现无差异同步数据传输
5.守护进程列表功能配置(list= )
list=true(可以让rsync客户查看到rsync服务端所有的模块信息)
list=false(不可以让rsync客户查看到rsync服务端所有的模块信息)
查看命令:rsync [email protected]::
建议为false,安全

转载于:https://blog.51cto.com/13520779/2085281