1.Rsync 基本概述
rsync是開源的備份工具,可在不同主機之間進行同步.可實現增量備份合全量備份,適合本地備份和異地備份等應用.
全量備份
image.png
完全備份:將客戶端所有數據內容全部備份至服務器端(效率低下,占用空間)
增量備份
image.png
增量備份:將客戶端的數據備份之服務端(提高備份效率,節省空間,適合異地備份)
2.rsync應用場景
推(上傳):所有主機推送本地數據至rsync備份服務器,會導致數據同步緩慢(適合少量數據備份)
拉(下載):rsync備份服務器拉取所有主機數據,會導致備份服務器開銷大
大量服務器備份場景
image.png
異地備份實現思路
image.png
3.rsync傳輸模式
rsync使用三種主要的數據傳輸方式
本地方式>
遠程方式
守護進程
**本地傳輸方式**單個主機與本地之間的的數據傳輸
**本地拷貝**
[root@backup /tmp]# ll
total 0
[root@backup /tmp]# cd
[root@backup ~]# rsync -avz /etc/hostname /tmp/
rsync 備份命令
-avz 選擇
/etc/hostname 本地源文件
/tmp 目標文件
sending incremental file list
hostname
sent 97 bytes received 35 bytes 264.00 bytes/sec
total size is 7 speedup is 0.05
[root@backup ~]# ll /tmp
total 4
-rw-r--r-- 1 root root 7 May 21 17:30 hostname
**遠程通道傳輸方式**通過ssh通道傳輸數據類似scp命令
**遠程拉取**
[root@backup /tmp]# ll
total 0
[root@backup /tmp]# rsync -avz root@172.16.1.31:/etc/hosts /tmp
rsync 備份命令
-avz 選項
root 目標主機的系統用戶
@172.16.1.31 目標主機IP地址或域名
/etc/hosts 目標主機源文件
/tmp 本地的存放位置
root@172.16.1.31's password:
receiving incremental file list
sent 43 bytes received 217 bytes 57.78 bytes/sec
total size is 350 speedup is 1.35
[root@backup /tmp]# ll
total 4
-rw-r--r-- 1 root root 350 May 25 11:19 hosts
遠程推送
推送的地址:
[root@nfs01 /tmp]# ll
total 0
源文件存放位置:
[root@backup /tmp]# rsync -avz /etc/hostname root@172.16.1.31:/tmp
rsync 備份命令
-avz 選項
/etc/hostname 本地源文件
root 目標主機的系統用戶
@172.16.1.31 目標主機IP地址或域名
/tmp 目標的對應位置
root@172.16.1.31's password:
sending incremental file list
hostname
sent 97 bytes received 35 bytes 7.14 bytes/sec
total size is 7 speedup is 0.05
推送地址:
[root@nfs01 /tmp]# ll
total 4
-rw-r--r-- 1 root root 7 May 21 17:30 hostname
4.rsync借助ssh協議同步數據存在缺陷
1.使用系統用戶(不安全)
2.使用普通用戶(會導致權限不足的情況)
3.守護進程傳輸方式:rsync自身非常重要的功能(不使用系統用戶,更加安全)