備份reync
什么是備份
就是把文件再復(fù)制一份存儲起來
為什么做備份
數(shù)據(jù)非常重要,盡可能保證數(shù)據(jù)不丟失,快速的恢復(fù)數(shù)據(jù)
不重要的數(shù)據(jù)可以不考慮
備份的方式
完全備份:完整的復(fù)制 (效率低、占用空間)
增量備份:只復(fù)制變化的部分 (第一次備份是完全備份,效率高,節(jié)省空間)
備份工具
本地備份:cp
遠(yuǎn)程備份:scp、rsync
rsync
遠(yuǎn)程同步,可以實(shí)現(xiàn)不同主機(jī)之間的同步,支持全量和增量同步(備份)
應(yīng)用場景
前置條件: 1.推Push:將本地?cái)?shù)據(jù)推送到備份服務(wù)器
2.拉Pull:將備份服務(wù)器的數(shù)據(jù)下載到本地
大量服務(wù)器備份:多個備份服務(wù)器匯總到一個服務(wù)器
異地備份:云備份服務(wù)器
rsync三大傳輸模式
本地傳輸:單個主機(jī)之間的數(shù)據(jù)拷貝,類似cp
rsync -avz 要備份什么文件的路徑 目標(biāo)位置
遠(yuǎn)程傳輸:借助ssh協(xié)議,需要知道對端的用戶名和密碼
推送:rsync -avz 源文件路徑 root@172.16.1.31:/目標(biāo)位置
拉?。簉sync -avz root@172.16.1.31:/目標(biāo)文件位置 本地路徑
如果只推送目錄,"/etc/" 加/表示連目錄下的文件一塊推送,不加/表示只推送目錄
依托對端機(jī)(服務(wù)端)的用戶身份權(quán)限
守護(hù)進(jìn)程:不使用系統(tǒng)用戶,使用一個虛擬的用戶來實(shí)現(xiàn)推送,運(yùn)行在后臺,持續(xù)提供服務(wù)
1.安裝rsync
2.配置
vim /etc/rsyncd.conf

--- 配置詳解
uid = rsync # 運(yùn)行進(jìn)程的用戶
gid = rsync # 運(yùn)行進(jìn)程的用戶組
port = 873 # 監(jiān)聽端口
fake super = yes # 不需要rsync已root身份運(yùn)行,就可以存儲文件的完整屬性
use chroot = no # 禁錮推送的數(shù)據(jù)至某個目錄, 不允許跳出該目錄
max connections = 200 # 最大連接數(shù)
timeout = 600 # 超時時間
ignore errors # 忽略錯誤信息
read only = false # 對備份數(shù)據(jù)可讀寫
list = false # 不允許查看模塊信息
auth users = rsync_backup # 定義虛擬用戶,作為連接認(rèn)證用戶
secrets file = /etc/rsync.passwd # 定義rsync服務(wù)用戶連接認(rèn)證密碼文件路徑
[backup] # 定義模塊信息
comment = commit # 模塊注釋信息
path = /backup # 定義接收備份數(shù)據(jù)目錄
創(chuàng)建進(jìn)程運(yùn)行的用戶rsync

定義虛擬用戶的密碼

創(chuàng)建存儲數(shù)據(jù)的目錄/backup ,更改屬主屬組
mkdir /backup
chown -R rsync.rsync /backup
3.啟動
systemctl start rsyncd
systemctl start rsyncd
4.測試
rsync -avz 源文件路徑 rsync_backup@172.16.1.41::backup
rsync選項(xiàng)
rsync選項(xiàng):
-a #歸檔模式傳輸, 等于-tropgDl
-v #詳細(xì)模式輸出, 打印速率, 文件數(shù)量等
-z #傳輸時進(jìn)行壓縮以提高效率
-r #遞歸傳輸目錄及子目錄,即目錄下得所有目錄都同樣傳輸。
-t #保持文件時間信息
-o #保持文件屬主信息
-p #保持文件權(quán)限
-g #保持文件屬組信息
-l #保留軟連接
-P #顯示同步的過程及傳輸時的進(jìn)度等信息
-D #保持設(shè)備文件信息
-L #保留軟連接指向的目標(biāo)文件
-e #使用的信道協(xié)議,指定替代rsh的shell程序
--exclude=PATTERN #指定排除不需要傳輸?shù)奈募J?/p>
--exclude-from=file #文件名所在的目錄文件
--bwlimit=100 #限速傳輸
--partial #斷點(diǎn)續(xù)傳
--delete #讓目標(biāo)目錄和源目錄數(shù)據(jù)保持一致
無需輸入密碼實(shí)現(xiàn)rsync推送和拉取
方式一: --password-file
echo "123456" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
rsync -avz --delete rsync_backup@172.16.1.41::backup /opt/ --password-file=/etc/rsync.pass
方式二: 設(shè)定環(huán)境變量方式
export RSYNC_PASSWORD=123456 #只當(dāng)前窗口有用,換一個窗口就沒用了(放到腳本中使用,非常的方便)
rsync -avz --delete rsync_backup@172.16.1.41::backup /opt/