1.架构环境准备
1./etc/hosts
hosts文件(域名解析文件)是一个用于储存计算机网络中各节点信息的计算机文件。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01
2./etc/rsyncd.conf
rsync配置文件
#rsync_config
#created by HQ at 2017
##rsyncd.conf start##
uid = rsync
gid = rsync
port = 873
fake super = yes
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
[oldboy]
comment = "backup dir by oldboy"
path = /oldboy
2.守护进程模式
服务端
1.创建虚拟用户
[root@backup ~]# useradd -M -s /sbin/nologin oldboy
2.查看创建的用户是不是虚拟用户
查看创建一个用户是不是虚拟用户 就先要查看他的命令解释器是否/sbin/nologin
命令解释器为/sbin/nologin 为虚拟用户
[root@backup ~]# cat /etc/passwd
oldboy:x:1002:1002::/home/oldboy:/sbin/nologin
3.创建共享
[root@backup ~]# mkdir -p /oldboy
4.修改共享目录的权限
[root@backup ~]# ll /oldboy -d
drwxr-xr-x 2 root root 6 Jul 15 17:27 /oldboy
[root@backup ~]# chown rsync.rsync /oldboy
[root@backup ~]# ll /oldboy -d
drwxr-xr-x 2 rsync rsync 6 Jul 15 17:27 /oldboy
5.创建密码文件.定义认证用户并设置密码
[root@backup ~]# echo "rsync_backup:123456" >/etc/rsync.password
6.查看修改密码文件权限
一般密码文件权限为600
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# ll /etc/rsync.password
-rw------- 1 root root 20 Jul 15 17:32 /etc/rsync.password
客户端
1.创建密码文件并设置密码
[root@nfs01 ~]# echo 123456 >/etc/rsync.password
2.修改密码文件权限
[root@nfs01 ~]# chmod 600 /etc/rsync.password
远程推送文件并免交互设置密码
[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::oldboy --password-file=/etc/rsync.passwordsending incremental file list
hosts
sent 227 bytes received 43 bytes 180.00 bytes/sec
total size is 371 speedup is 1.37
远端拉取文件并免交互设置密码
[root@nfs01 ~]# rsync -avz rsync_backup@172.16.1.41::oldboy /tmp --password-file=/etc/rsync.password
receiving incremental file list
./
hosts
sent 50 bytes received 273 bytes 646.00 bytes/sec
total size is 371 speedup is 1.15
[root@nfs01 ~]# ll /tmp
total 4
-rw-r--r-- 1 root root 371 Jul 12 10:47 hosts
rsync命令参数说明
-v increase verbosity
显示数据传输过程信息
-z compress file data during the transfer
将传输的数据进行压缩处理
-a archive mode
归档参数:等价于输入了 -rlptgoD
-r 递归传输数据信息(传输目录)
-l copy symlinks as symlinks 最没有意义参数
保持链接文件属性
-L 将链接文件指向的源文件进行备份传输
-p 保持文件权限不变
-t 保持文件时间信息不变 (修改时间不变)
-g 保持文件属组信息不变
-o 保持文件属主信息不变
-D 保持设备文件属性信息不变
--delete 实现无差异同步参数
让服务器目录中数据信息 和 备份目录中的数据信息 保持高度一致
--exclude=PATTERN exclude files matching PATTERN tar
--exclude-from=FILE read exclude patterns from FILE
排除指定数据信息不做备份传输
1. 备份服务概念介绍 (特点 原理)
数据增量备份同步 cp scp
2. 备份服务语法结构 本地 远程(推 拉) 守护进程(推 拉)
推:客户端(操作) 将本地数据推送远程服务端进行备份
拉:客户端(操作) 在客户端上操作(backup)拉取到本地备份服务器
3. 备份服务部署流程
服务端
(1)确认服务是否安装(安装软件)
(2)编写服务配置文件
(3)创建备份目录管理用户
(4)创建备份目录 进行授权
(5)创建密码文件 进行授权 600
(6)启动服务
客户端:
(1)创建密码文件 进行授权 600
(2)测试传输备份
** 4. 备份服务原理过程**
(1)客户端 发送要传输数据的请求
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
(2)服务端 接收到传输数据请求 进行用户认证操作
服务端确认用户信息是否正确 确认客户端输入的用户 == 服务端配置文件用户
服务端确认用户密码是否正确 确认客户端输入的密码 == 服务端相应用户的密码信息 oldboy:oldboy123
在进行用户认证时,需要判断两个文件的权限是否是600
(3)客户端 将数据传输到服务端 会转换传输者的身份(rsync) 将数据信息权限改动 rsync
(4)服务端 如果想让数据正确保存 修改备份目录
网友评论