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服务与异地容灾 | 找一个异地的服务器存放备份 |

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/hostname | root@10.0.0.31:/tmp |
拉取:rsync | root@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/rsync | rsync命令 |
/usr/lib/systemd/system/rsyncd.service | systemctl控制rsyncd服务的配置文件 |
3.3.2进行配置

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/hosts | rsync_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/