Rsync 软件部署
期中架构-第二章-备份服务笔记
======================================================================
01. 课程回顾
根据思维导图回顾了上节课内容
02. rsync服务介绍
属于一款实现全量及增量复制同步的软件工具
03. rsync服务命令简单应用(1v4的应用效果)
①. rsync == cp
[root@backup ~]# # rsync == cp效果
[root@backup ~]# cp -a /etc/hosts /tmp/
[root@backup ~]# ll /tmp/
total 4
-rw-r--r--. 1 root root 352 Jan 27 01:15 hosts
[root@backup ~]# rsync -a /etc/sysconfig/network /tmp/
[root@backup ~]# ll /tmp/
total 8
-rw-r--r--. 1 root root 352 Jan 27 01:15 hosts
-rw-r--r-- 1 root root 31 Jan 26 18:16 network
②. rsync == scp
[root@backup ~]# scp -rp /tmp/ 172.16.1.31:/tmp/
The authenticity of host '172.16.1.31 (172.16.1.31)' can't be established.
RSA key fingerprint is 5b:9b:e6:79:a9:95:4f:be:06:41:e3:bb:7a:12:ee:b4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.1.31' (RSA) to the list of known hosts.
root@172.16.1.31's password:
network 100% 31 0.0KB/s 00:00
hosts 100% 352 0.3KB/s 00:00
[root@backup ~]# ll /tmp/
total 8
-rw-r--r--. 1 root root 352 Jan 27 01:15 hosts
-rw-r--r-- 1 root root 31 Jan 26 18:16 network
[root@backup ~]# rsync -rp /tmp/ 172.16.1.31:/tmp/
root@172.16.1.31's password:
[root@backup ~]#
说明:同步数据时,/tmp/目录后有/信息,表示将目录下面的数据内容进行备份同步
同步数据时,/tmp目录后没有/信息,表示将目录及目录下面的数据内容进行备份同步
③ rsync == rm
说明:rsync实现删除目录中数据内容过程,就将一个空目录和一个有数据的目录进行同步
最终,会将有数据的目录中的文件进行清空
[root@backup ~]# mkdir /null
[root@backup ~]# rsync --delete /null/ /tmp/
rsync: --delete does not work without -r or -d.
rsync error: syntax or usage error (code 1) at main.c(1422) [client=3.0.6]
[root@backup ~]#
[root@backup ~]# rsync -r --delete /null/ /tmp/
[root@backup ~]# ll /tmp/
total 0
④ rsync == ls
[root@backup ~]# ls /etc/hosts
/etc/hosts
[root@backup ~]# ls -l /etc/hosts
-rw-r--r--. 2 root root 352 Jan 27 01:15 /etc/hosts
[root@backup ~]# rsync /etc/hosts
-rw-r--r-- 352 2018/01/27 01:15:59 hosts
04 rsync软件工作方式
①. 本地数据备份方式
Local: rsync [OPTION...] SRC... [DEST]
rsync --- 数据备份传输命令
option --- 可以输入一下和rsync传输数据有关的参数
src --- 要进行备份的数据(文件/目录)
dest --- 将数据信息备份到什么位置(相应路径中)
实践练习:
[root@backup ~]# rsync -a /etc/hosts /tmp/ok.txt
[root@backup ~]# ll /tmp/ok.txt
-rw-r--r-- 1 root root 352 Jan 27 01:15 /tmp/ok.txt
②. 远程数据备份方式
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
pull方式语法说明:
rsync --- 数据备份传输命令
option --- 可以输入一下和rsync传输数据有关的参数
[USER@]HOST: --- 需要指定以什么用户身份登录到远程主机,
如果省略USER信息,表示以当前用户身份进行登录
登录主机地址或域名信息
SRC --- 指定远程主机要传输过来到本地的数据信息
dest --- 将数据保存到本地的什么路径中
push方式语法说明:
rsync --- 数据备份传输命令
option --- 可以输入一下和rsync传输数据有关的参数
[USER@]HOST: --- 需要指定以什么用户身份登录到远程主机,
如果省略USER信息,表示以当前用户身份进行登录
登录主机地址或域名信息
SRC --- 指定本地主机要传输到远程主机的数据
dest --- 将本地数据保存到远端的什么路径中
③. 守护进程传输模式
Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
pull:rsync [OPTION...] [USER@]HOST::SRC... [DEST]
[USER@]HOST:: --- 指定远程连接的认证用户
SRC --- 指定相应的模块信息
[DEST] --- 将远程数据保存到本地的路径信息
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
[USER@]HOST:: --- 指定远程连接的认证用户
SRC --- 指定本地要进行推送的数据信息
[DEST] --- 远程进行保存数据的模块信息
05 rsync守护进程部署流程
1)服务端部署流程
第一里程:检查软件是否安装
[root@backup ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
第二里程:编写配置文件
vim /etc/rsyncd.conf
#rsync_config
#created by HQ at 2017
##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
read only = true
[nfs]
comment = "backup dir by oldboy"
path = /nfs
第三个里程:创建备份目录管理用户
useradd rsync -M -s /sbin/nologin
第四个里程:创建备份目录
mkdir /backup
chown -R rsync.rsync /backup
第五个里程:创建认证文件
echo "rsync_backup:oldboy123" >>/etc/rsync.password
chmod 600 /etc/rsync.password
第六个里程:启动rsync服务
rsync --daemon
2)客户端部署流程
第一个里程:确认软件是否安装
[root@backup ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
第二个里程:创建认证密码文件
echo "oldboy123" >>/etc/rsync.password
chmod 600 /etc/rsync.password
第三个里程:进行数据备份测试
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
sending incremental file list
hosts
sent 189 bytes received 27 bytes 432.00 bytes/sec
total size is 352 speedup is 1.63
06 rsync服务错误排查方法
1)检查错误日志
2)可以在模拟环境下。模拟练习一些错误
扩展说明:rsync启动服务扩展参数
--port 指定rsync服务端口号信息,默认是873
--config=xxx 指定识别的rsync服务配置文件信息
07 rsync服务扩展应用
① 守护进程多模块功能配置
第一步:修改配置文件
vim /etc/rsyncd.conf
[backup01]
comment = "backup dir by oldboy"
path = /backup
[backup02]
comment = "backup dir by oldboy"
path = /backup02
第二步:创建多模块目录
mkdir /backup02
chown -R rsync.rsync /backup02
第三步:重启服务程序
killall rsync
rsync --daemon
第四步:进行测试检查