2019-04-15课堂笔记

Rsync复制软件应用与实践
What 什麽是?
Why为什么要用?
Whereis在哪用?


[if !supportLists]1.[endif]什麽是rsync?
Rsync,rsync英语全称为remote synchronization缩写rsync
是开源、高速的、可实现本地以及远程,全量以及增量的数据复制(拷贝)工具。


2、rsync的作用


工作中需要数据备份。不同的机器、本地服务器目录、不同的机房之间的数据备份。都可以rsync完成。


3、rsync功能特性
[if !vml]
2019-04-15课堂笔记
文章图片
[endif]


全量喝增量的区别
[if !vml]
2019-04-15课堂笔记
文章图片
[endif]




5、增量复制原理
使用quick check 算法,只对增量的部分复制,根据大小属性的变化进行复制。
2.x比对差异後复制,3.x一边比对一边复制。


6、rsync三种工作模式介绍


[if !supportLists]1) [endif]本地模式(local)
Rsync就是一个命令


命令操作:
Rsync命令:
[if !supportLists]A. [endif]把数据从一个地方复制到另一个地方(仅在一台机器增量),相当于cp。
[if !supportLists]B. [endif]通过加参数实现删除的功能,相当于rm命令。
[if !supportLists]C. [endif]查看属性信息功能,相当于ls。






实践:基础不牢,地动山摇。——老男孩
听话出活——老男孩


[if !vml]
[endif]
2019-04-15课堂笔记
文章图片


[if !supportLists]D. [endif]可以查看属性


[if !supportLists]2) [endif]远程shell模式
借助类似ssh隧道传输数据,适合不同的机器之间复制。


拉门推门思考:
Pull,拉:从远端拉取到本地。
[if !vml]
2019-04-15课堂笔记
文章图片
[endif]




Push,推:从本地推到远端。
[if !vml]
[endif]
[if !supportLists]3) [endif]rsync守护进程模式
首先要搭建rsync服务端(要有守护进程),然后才能在客户端实践推拉数据
重要模式,重点讲。
客户端语法暂时不讲。
Rsync服务模式:*****开启后台进程,接受别人访问。








7、rsync命令参数
[if !vml]
[endif]
--delete 删除
--exclude 排除
--exclude-from从文件中排除
[if !vml]
2019-04-15课堂笔记
文章图片
[endif]
企业常用参数组合:-avz或者-vzrtopg






8、rsync守护进程模式应用实践
[if !vml]
2019-04-15课堂笔记
文章图片
[endif]


[root@backup~]# cat /etc/rsyncd.conf -n
1#rsync_config_______________start
2#created by oldboy
3#site:http://www.oldboyedu.com
4uid = rsync管理备份目录的用户
5gid = rsync管理备份目录的用户组
6use chroot = no安全功能,数据是否算定到备份目录
7max connections = 200并发连接,同时多少客户端访问
8timeout = 600超时时间
9pid file = /var/run/rsyncd.pid进程号所在的文件
10lock file =/var/run/rsync.lock锁文件
11log file =/var/log/rsyncd.log日志文件,查看报错等
12ignore errors忽略错误
13read only = false可写
14list = false不允许列表
15hosts allow = 172.16.1.0/24哪些主机可以访问
16hosts deny = 0.0.0.0/32拒绝哪些主机不允许访问。
17auth users = rsync_backup远程虚拟连接用户
18secrets file =/etc/rsync.password存放密码的文件,格式:用户名:密码权限必须600
19[backup]【模块名】远程访问使用模块名访问
20comment = welcome tooldboyedu backup!说明注释
21path = /backup/服务器端用户备份的目录,用户和组,rsync.rsync
启动和检查
Rsync –daemon
Systemctl start rsyncd




要了解知识的源头:
Man rsync 查命令的参数
Man rsyncd.conf查配置参数






3)启动和检查
rsync --daemon
(c6及以前)
systemctl start rsyncd
systemctl enable rsyncd
systemctl status rsyncd
[root@backup ~]# ps -ef|grep sync|grep -v grep#
检查进程
root752110 11:39 ?00:00:00 /usr/bin/rsync --daemon --no-detach
[root@backup ~]# netstat -lntup|grep 873 #
检查端口
tcp00 0.0.0.0:8730.0.0.0:*LISTEN7521/rsync
tcp600 :::873:::*LISTEN7521/rsync
[root@backup ~]# lsof -i :873 #
检查端口
COMMANDPID USERFDTYPE DEVICE SIZE/OFF NODE NAME
rsync7521 root3uIPv4414390t0TCP *:rsync (LISTEN)
rsync7521 root5uIPv6414400t0TCP *:rsync (LISTEN)


如何查看某端口对应什麽服务?上面是答案
学会获取知识的源头。
配置密码文件
面试题:如何查看某端口对应什么服务?答案就是上面两个。
[if !supportLineBreakNewLine]
[endif]
4)配置密码文件
[root@backup ~]# echo "rsync_backup:oldboy" > /etc/rsync.password
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# cat /etc/rsync.password
rsync_backup:oldboy
[root@backup ~]# ls -l /etc/rsync.password
-rw------- 1 root root 20 4
月15 11:51 /etc/rsync.password
Rsync服务端配置完成。


客户端操作服务器
[if !supportLists]1.[endif]方法1:认证密码文件
方法1:认证密码文件
[root@nfs01
~]# echo "oldboy" > /etc/rsync.password
[root@nfs01
~]# chmod 600 /etc/rsync.password
[root@nfs01
~]# cat /etc/rsync.password
oldboy
[root@nfs01
~]# ls -l /etc/rsync.password
-rw-------
1 root root 7 4月15 11:55 /etc/rsync.password


方法2:
[root@nfs01
~]# echo ' export RSYNC_PASSWORD=oldboy' >>/etc/bashrc
[root@nfs01
~]# tail -1 /etc/bashrc
export RSYNC_PASSWORD=oldboy
[root@nfs01
~]# . /etc/bashrc
[root@nfs01
~]# echo $RSYNC_PASSWORD
Oldboy




Rsync客户端 nfs01 配置完成




守护进程模式,客户端rsync的命令语法:
配置服务器端守护进程,实现数据传输:


[if !supportLists]1.[endif]服务器端守护进程。2.客户端执行命令。
[if !vml]
2019-04-15课堂笔记
文章图片
[endif]






此时成果


克隆完成后,配置步骤
[if !supportLists]1.[endif]主机名
[if !supportLists]2.[endif]IP




配置rsync服务C/S架构
配置服务端
安装rsync服务
配置配置文件
创建用户
创建对应目录backup 并授权用户
配置对应密码文件并授权600




配置客户端
配置密码文件并授权600
【2019-04-15课堂笔记】创建对应本分目录backup并授权用户为

    推荐阅读