基本概述

rsync是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用。

rsync官方地址: https://rsync.samba.org/
rsync 监听地址: 873
rsync 运行模式: C/S

备份方式

  • 完全备份

客户端有f1 f2 f3 三个文件。
服务端有 f1 一个文件。
完全备份则是不论是否有相同文件,直接全部复制到服务端。(效率低下,占用空间)

  • 增量备份

客户端有f1 f2 f3 三个文件。
服务端有 f1 一个文件。只备份f2 f3,因为f1已存在
增量备份则是将客户端的f2 f3 增量备份至服务器,会导致数据同步缓慢。(提高备份效率,节省空间,适合异地备份)

Rsync应用场景

1.推
所有主机推送本地数据至Rsync备份服务器,会导致数据同步数据缓慢(适合少量数据备份)
2.拉
rsync备份服务端拉取所有主机上的数据,会导致备份服务器开销大。
3.大量服务器备份场景
4.异地备份实现思路

Rsync传输模式

本地方式
远程方式
守护进程
1.本地传输方式:单个主机本地之间的传输数据,比较类似cp命令

  1. # 本地拷贝数据命令
  2. Local: rsync [OPTION....] SRC...[DEST]
  3. # 本地拷贝数据示例
  4. rsync -avz /etc/passwd /tmp

2.远程拉取命令

  1. # pull 拉取数据命令
  2. Pull: rsync [OPTION...] [USER@]HOST:SRC...[DEST]
  3. # PULL
  4. rsync -avz root@192.168.218.10:/etc/hostname ./ #拉取远程文件
  5. rsync -avz root@192.168.218.10:/root/ /backup/ #拉取目录下的所有文件
  6. rsync -avz root@192.168.218.10:/root /backup/ #拉取目录和目录下所有文件
  7. # push 推送数据命令
  8. Push: rsync [OPTION...] SRC... [USER@]HOST:[DEST]
  9. #push
  10. rsync -avz /backup/2020-10-10 root@192.168.218.10:/mnt/