備份服務器存在意義:
1 將所有資料資訊進行匯總收集 ELK 分析日志軟體
2 可以將資料資訊進行還原恢復
Rsync是一款開源的,快速的,多功能的,可實作全量及增量的本地或遠程資料同步備份的優秀工具,
全量備份:每次同步程序,都是將全部資料重新保存備份
增量備份:每次同步程序,只是將變化的資料進行保存備份
增量備份實作是基于演算法實作的:
1)在傳輸資料檔案前, 比較每個檔案屬性資訊
2) 基于演算法加密值原理, 比較每個檔案數值不同
rsync軟體功能介紹
類似于 cp 命令 -- 實作本地備份傳輸資料
類似于scp 命令 -- 遠程備份傳輸資料
類似于 rm 命令 -- 實作無差異同步備份
類似于 ls 命令 -- 本地檔案資訊查看
rsync 命令屬于1 v 4 的命令
備份服務軟體3種作業方式
1 本地資料備份
Local: rsync [OPTION...] SRC... [DEST]
cp -a /etc/hosts /tmp/hosts_cp
rsync -a /etc/hosts /tmp/hosts_rsync
2 遠程資料備份
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] 拉方式
rsync -avz [email protected]:/backup/week01/ /tmp/
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST 推方式
rsync -avz /backup/week01/ [email protected]:/backup/
需要備份資料服務器:
pull 將遠程備份服務器的資料進行獲取到本地,將資料需要進行還原
push 將本地主機中資料進行傳輸備份服務器中,實作資料備份操作
備份服務器:
pull:將所有服務器中重要資料進行獲取,保存在本地主機中
push:將備份服務器資料推送到遠程主機上, 用于資料還原操作
3 守護行程備份資料
Access via rsync daemon:
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync -avz 本地備份資料 認證用戶@172.16.1.41::模塊名稱
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync -avz 認證用戶@172.16.1.41::模塊名稱 本地目錄
守護行程 vs 遠程備份
1)需要開啟一個備份服務端程式
2)可以控制同時存盤資料訪問量
3)可以實作訪問安全控制機制
4) 資料備份程序需要有認證禁止
5)可以實作免互動程序傳輸資料
rsync備份服務部署
部署環境:
CentOS Linux release 7.8.2003 (Core)
服務端部署
1查看軟體程式是否部署
[root@backup tools 22:04:10]]# rpm -qa rsync
rsync-3.1.2-10.el7.x86_64
2撰寫服務組態檔
vim /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 300
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 = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup
3創建一個虛擬用戶
[root@backup backup 22:16:18]]# useradd -s /sbin/nologin -M rsync
4創建資料備份目錄/修改資料目錄屬主權限
[root@backup backup 22:20:05]]# mkdir /backup/
[root@backup backup 22:17:44]]# chown -R rsync.rsync /backup/
5創建本地密碼檔案
[root@backup backup 22:24:23]]# echo "rsync_backup:test123" >/etc/rsync.password
[root@backup backup 22:25:24]]# chmod 600 /etc/rsync.password #這里只有root用戶可以查看
6啟動服務程式
[root@backup backup 22:27:00]]# systemctl start rsyncd
[root@backup backup 22:27:04]]# systemctl enable rsyncd
客戶端部署
1查看是否部署軟體程式
[root@nfs01 ~ 22:28:42]]# rpm -qa rsync
rsync-3.1.2-10.el7.x86_64
2創建密碼檔案并賦予權限
[root@nfs01 ~]# echo "test123" >/etc/rsync.password
[root@nfs01 ~]# chmod 600 /etc/rsync.password
如何實作免互動傳輸資料
免互動傳輸資料方法一:
echo test123 >/etc/rsync.password
chmod 600 /etc/rsync.password
rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password
免互動傳輸資料方法二:
/etc/profile
export RSYNC_PASSWORD=test123
rsync -avz /etc/hosts [email protected]::backup
客戶端測驗:
rsync -avz /etc/hosts [email protected]::backup --- 測驗傳輸檔案
rsync -avz /oldboy [email protected]::backup --- 測驗傳輸目錄
傳輸目錄結尾沒有 / 時, 表示將目錄本身以及目錄內容都做備份保存
rsync -avz /oldboy/ [email protected]::backup --- 測驗傳輸目錄
傳輸目錄結尾有 / 時, 表示只是將目錄下面的內容進行保存備份
備份組態檔引數說明
uid = rsync --- 指定映射用戶名稱
gid = rsync --- 指定映射與用戶組名稱
port = 873 --- 指定服務埠資訊
fake super = yes --- 偽裝超級管理員用戶 rsync映射用戶會修改原有檔案屬主和屬組資訊
use chroot = no --- 安全配置功能
max connections = 200 --- 設定并發連接數量
timeout = 300 --- 設定連接超時時間
pid file = /var/run/rsyncd.pid --- pid檔案記錄服務行程編號
1)確認服務狀態 有檔案存在 服務啟動 / 沒有檔案 服務關閉
2)對服務進行停止操作 kill `cat /var/run/rsyncd.pid`
lock file = /var/run/rsync.lock --- 備份服務lock檔案 限定網路連接數
log file = /var/log/rsyncd.log --- 備份服務日志檔案 用于排錯
ignore errors --- 傳輸資料時,例外問題小問題,忽略 警告性==建議
read only = false --- 定義備份服務讀寫權限 權限為只讀
list = false --- 串列功能
hosts allow = 172.16.1.0/24 --- 設定一個白名單 主機地址或網段資訊
hosts deny = 0.0.0.0/32 --- 設定一個黑名單 主機地址或網段資訊
auth users = rsync_backup --- 訪問備份服務認證用戶
secrets file = /etc/rsync.password --- 認證用戶密碼檔案
[backup] --- 模塊設定
comment = "用戶備份運維人員資料" --- 注釋說明資訊
path = /backup/ --- 定義備份資料目錄
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/256156.html
標籤:Linux
下一篇:STM32 看門狗詳解
