1. 备份服务-rsync

1.1 普及概念时间

:::info{title=“概念”}

全量与增量

全量: 无论多少数据都全部同步(传输)一次.\
增量: rsync软件对比,只传输变化(修改,新建)的数据
:::

:::info{title=“应用场景”}
1️⃣ 定时备份场景: 定时任务+rsync服务模式\
2️⃣ 实时同步:
:::

2.2 rsync极速上手指南

| 参数 | 解释 |
| — | — |
| ==-a== | 复制目录,保持属性不变 -rlptgoD |
| ==-v== | 显示过程 |
| ==-z== | 压缩 |
| -P | 显示速度 |
| –bwlimit | 限速 单位kb/s |
| –delete | 删除目标目录中多余的内容,让它与源目录一模一样 |

环境检查

记得网络可以互相访问就行

本地模式(入门级别)

格式: rsync 文件/文件夹 目标位置

复制文件

rsync /etc/hosts /tmp/

复制目录

rsync -a /etc/      /tmp/

查看目录内容

rsync      /etc/

:::info{title=“rsync中 /etc与/etc/区别”}
/etc 不加上目录结尾的斜线,表示 目录和目录内容

/etc/ 加上目录结尾的斜线,表示 目录内容
:::

远程模式-必须会!!!!

:::tip{title=“提示”}
两台之间互传数据\
scp: 全量.1次性\
rsync: 增量
:::

:::info{title=“远程传输基础概念”}

rsync -[选项] 用户@IP:/远程目录

与远程的SSH目录保持同步

下行(拉):rsync -[选项] 用户@IP:/远程目录 本地目录\
上行(推):rsync -[选项] 本地目录 用户@IP:/远程目录
:::

:::warning{title=“注意”}
操作前先做sshd免密码老弟,不然你每次都要输入密码,哭死你
:::

把/etc/hosts上传到10.0.0.31这个机器上下面的/tmp文件

scp /etc/hosts root@10.0.0.31:/tmp   

-r 的递归,把文件下面的所有文件传送

scp -r /etc root@10.0.0.31:/tmp  

传输目录 rsync

 rsync -av /etc root@10.0.0.31:/tmp

推与拉

从远程服务器拷贝文件到本地

rsync root@10.0.0.31:/etc/hostname /tmp/

从本地拷贝多个文件到远端

rsync -avz /tmp/ root@10.0.0.31:/etc/hostname

:::info{title=“传输压缩就完了”}
-z -avz #传输的时候对数据进行压缩

压缩文件后,文件的大小会减少,如果我们传输文件的时候,先进行压缩,也会加快传输的速度。
rsync的压缩是用户感知不到的,传输的过程中进行压缩,等到目标服务器接收后,会自动进行解压。