数据相关服务-第1个服务-备份服务
1. 备份服务概述
-
备份服务:需要使用到脚本,打包备份,定时任务.
-
备份服务:rsyncd服务,不同主机之间数据传输.
-
特点:
- rsync是个服务也是命令
- 使用方便,具有多种模式
- 传输数据的时候是增量传输
增量与全量:
全量: 无论多少数据 全部 推送走(scp).
增量: 只会把 修改,新建 了的文件传输走(rsync).
把/etc/目录传输到另一台机器的/tmp/下面 scp -r /etc/sysconfig/ root@10.0.0.31:/tmp/ rsync -avz /etc/sysconfig/ root@10.0.0.31:/mnt/
2.Rsync企业应用场景
- 应用场景(业务场景)





3.Rsync使用模式

4.推与拉
- 本质:
- 在于你当前在哪台节点(node)
- 你要的东西在哪里

5.rsync不同的模式
5.1.rsync本地模式(了解)
rsync -a /etc/ /tmp/
rsync -a /etc /opt/
⚠ 在rsync对于目录 /etc/ /etc 是有区别的.
/etc /etc目录+目录的内容
/etc/ /etc/目录下面的内容
5.2 远程模式⭐⭐⭐⭐⭐
- 1对1进行远程传输数据

#推送/etc/hostname 到10.0.0.31的/tmp/目录
rsync -a /etc/hostname root@10.0.0.31:/tmp
#推送/etc 目录及目录内容 到31的 /tmp下面
推送第1次 全量
rsync -av /etc root@10.0.0.31:/tmp
推送第2次 发现没有推送
rsync -av /etc root@10.0.0.31:/tmp
创建文件再次推送
touch /etc/lidao.txt
rsync -av /etc root@10.0.0.31:/tmp
#通过scp推送 /etc 目录及目录内容 到31的 /opt下面
scp -r /etc/ root@10.0.0.31:/opt/
-r 递归传输
5.3.守护进程模式 ⭐⭐⭐⭐⭐

5.3.1检查是否安装
检查安装 更新
yum install -y rsync
检查软件包内容
/etc/rsyncd.conf #配置文件
/usr/bin/rsync #命令
/usr/lib/systemd/system/rsyncd.service #systemctl对应的配置文件.

5.3.2.进行配置_ 配置详解
https://www.processon.com/view/link/62fde39c0791294c5eabf792

- 进行配置
[root@myvps ~]# cat /etc/rsyncd.conf
#created by oldboy 15:01 2009-6-5
rsyncd.conf start
fake super =yes
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
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 = 10.0.0.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[data]
comment = www by old0boy 14:18 2012-1-13
path = /data
#启动服务
systemctl enable rsyncd
systemctl start rsyncd
#检查进程
ps -ef |grep rsync
#检查端口
ss -lntup |grep rsync
- 后续配置
#1.添加虚拟用户
useradd -s /sbin/nologin -M rsync
#2.创建密码文件
密码文件格式: 用户名:密码
echo 'rsync_backup:123 ' >/etc/rsync.password
chmod 600 /etc/rsync.password
#3.共享目录与权限
mkdir /data/
- 启动服务
systemctl start rsyncd
systemctl enable rsyncd
- 访问测试

- 本地测试
[root@myvps ~]# rsync -avz /etc/hostname rsync_backup@10.0.0.41data
Password:
sending incremental file list
hostname
sent 102 bytes received 43 bytes 41.43 bytes/sec
total size is 7 speedup is 0.05
[root@myvps ~]#
[root@myvps ~]# ll /data/
total 4
-rw-rr 1 rsync rsync 7 Aug 16 16:02 hostname
- 客户端测试
[root@nfs01 ~]# rsync -avz /etc/hosts
rsync_backup@172.16.1.41data
Password:
sending incremental file list
hosts
sent 214 bytes received 43 bytes 73.43 bytes/sec
total size is 329 speedup is 1.28
- 免密码传输数据到服务端

6.守护进程-补充
6.1.uid,gid 与 auth user(熟悉)
深刻理解uid,gid,,authr user,secret file
1.用户执行命令:rsync -avz /tmp/etc.tar.gz rsync_backup@backup::data --password-file=/etc/rsync.client
2.服务端收到数据:判断rsync_backup用户,然后等待输入密码
3.把用户名和密码与配置文件里面对比 auth user 和secretsfile
4.通过后,传输数据
5.数据到达服务器所有者被修改为uid和gid指定的(rsync)
6.数据写入data模块(/data/)目录下面.

6.2 免密的方式连接服务端(命令行指定客户端密码文 件) ⭐⭐⭐⭐⭐
# 客户端密码文件只存储密码即可
echo 123 >/etc/client.rsync
chmod 600 /etc/client.rsync
rsync -avz /etc/hosts
rsync_backup@172.16.1.41::data --password-file=/etc/client.rsync
6.3.访问控制-安全措施
- hosts allow 只准许指定的ip或网段访问.
- hosts deny 拒绝.
配置只准许172.16.1.0/24 网段访问
7.rsync选项

限速并传输
rsync -aP --bwlimit=500kb /tmp/1g 10.0.0.31:/mnt/
传输并排除
rsync -av . root@10.0.0.31:/tmp/ exclude=04
rsync -av . root@10.0.0.31:/mnt exclude={04,05}
通过文件内容进行排除
[root@backup /oldboy]# cat /tmp/paichu.txt
03
05
10
[root@backup /oldboy]# rsync -av .
root@10.0.0.31:~ --exclude-from=/tmp/paichu.txt
保持源与目标数据一致
rsync -avP --delete . root@10.0.0.31:/tmp/

浙公网安备 33010602011771号