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企业应用场景

应用场景(业务场景)应用建议
rsync作为命令使用临时拉取,推送数据.未来这个需求可以通过scp命令实现.
定时备份:rsync服务+定时任务定时备份,定期备份案例.(定时任务进行备份+通过rsync传输备份)
实时同步:rsync服务+sersync/lsyncd实现实时同步解决存储服务单点问题
rsync服务与异地容灾找一个异地的服务器存放备份

image-20240529105551800.png

3.rsync不同的模式

3.1 rsync本地模式(了解)

rsync -a /etc/   /tmp/
rsync -a /etc   /opt/


在rsync对于目录 /etc/ /etc 是有区别的.
/etc /etc目录+目录的内容
/etc/ /etc/目录下面的内容

3.2远程模式

格式
rsync -a源文件目标
推送:rsync/etc/hostnameroot@10.0.0.31:/tmp
拉取:rsyncroot@10.0.0.31:/etc/hosts/opt/
#推送/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 递归传输

3.3守护进程模式

服务使用流程
部署
配置
启动,使用
优化
故障
自动化(监控,日志,安全,自动部署,容器)

3.3.1检查是否安装

检查安装 更新
yum install -y rsync 
检查软件包内容
/etc/rsyncd.conf  #配置文件
/usr/bin/rsync    #命令
/usr/lib/systemd/system/rsyncd.service #systemctl对应
的配置文件.
软件包内容
/etc/rsyncd.conf配置文件(服务端配置文件,守护进程模式)
/usr/bin/rsyncrsync命令
/usr/lib/systemd/system/rsyncd.servicesystemctl控制rsyncd服务的配置文件

3.3.2进行配置

image-20240529110452709.png

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]
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/
#4.给权限
chown -R rsync.rsync /data

3.3.3访问测试

rsync守护进程模式客户端命令
rsync -avz/etc/hostsrsync_backup@10.0.0.41Վʦdata
rsync_backup是服务端配置文件中的认证用户.
data表示模块名字

3.3.4免密的方式连接服务端

echo 123 >/etc/client.rsync 
chmod 600 /etc/client.rsync
rsync -avz   /etc/hosts rsync_backup@172.16.1.41Վʦdata  Վʔpasswordfile=/etc/client.rsync

4.rsync选项

rsync选项含义
-a-rlptgoD -r递归复制 -l复制软连接 -p保持权限不变 -m保持修改时间不变 -o所有者不变 -g用户组不变
-v显示过程
-z传输数据的时候进行压缩(公网)
-P文件传输过程 (进度条) 断点续传
--bwlimit限速,注意不要与-z一起使用
-- exclude --exclude-from排除
--delete目标目录与源目录保持一致的传输(高度保持2遍一致,实时同步)
限速并传输
rsync  -aP Վʔbwlimit=500kb   /tmp/1g   
10.0.0.31:/mnt/