目錄
一:rsync實時監控備份流程
1.安裝rsync(服務端 與 客服端)守護進程模式
[root@backup ~]# yum install -y rsync
2.修改配置文件(服務端)
[root@m01 ~]# vim /etc/rsyncd.conf
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = welcome to backup!
path = /backup
[linux]
comment = welcome to linux!
path=/tmp/linux
3.解析配置內容
配置文件詳解
uid = rsync #啟動服務的用戶id(啟動應用程序系統用戶)
gid = rsync #啟動服務用戶的組id
port = 873 #服務默認監聽端口
fake super = yes #無須使用root用戶啟動
use chroot = no #安全機制
max connections = 200 #最大連接數
timeout = 600 #超時時間
ignore errors #忽略錯誤
read only = false #只讀權限
list = false #用戶端查看模塊列表(False)
auth users = rsync_backup #定義虛擬用戶(rsync傳輸過程使用的用戶)同步數據用戶
secrets file = /etc/rsync.passwd #定義虛擬用戶的密碼
log file = /var/log/rsyncd.log #日志文件
#####################################
[backup] #模塊
comment = welcome to oldboyedu backup! #模塊的備注
path = /backup #服務器真實的路徑
[linux]
comment = welcome to linux!
path=/tmp/linux
解析:
添加幾個模塊都可以,
作用:
使用備份,填寫那個模塊就自動備份到模塊路徑下了。
4.創建系統用戶
[root@backup opt]# groupadd rsync -g 666
[root@backup opt]# useradd rsync -u 666 -g 666 -M -s /sbin/nologin -r
5.創建密碼文件
[root@backup opt]# echo "rsync_backup:123456" > /etc/rsync.passwd
6.授權(必須授權為600)
[root@backup opt]# chmod 600 /etc/rsync.passwd
7.創建備份目錄(創建模塊目錄)
[root@backup opt]# mkdir /backup
[root@backup opt]# mkdir /tmp/linux
8.目錄授權(模塊目錄)
[root@backup opt]# chown rsync.rsync /backup/
[root@backup opt]# chown rsync.rsync /tmp/linux/
9.關閉防火牆和selinux
[root@backup opt]# systemctl disabel --now firewalld
[root@backup opt]# setenforce 0
10.啟動rsyncd服務
[root@backup opt]# systemctl start rsyncd
二:客戶端(備份三種方式)
方法一:自己輸入密碼
[root@m01 ~]# rsync -avzP ./* rsync_backup@172.16.1.41::backup
rsync_backup : 虛擬用戶,只在數據傳輸時使用
172.16.1.41 : backup服務端的IP
backup : 模塊名稱
方法二:設置密碼文件,運行時讀取
1、編寫密碼文件(在客戶端需要密碼 服務端需要用戶和密碼)
[root@backup opt]# echo "123456" > /etc/rsync.passwd
2、授權
[root@m01 ~]# chmod 600 /etc/rsync.passwd
3、連接
[root@m01 ~]# rsync -avzP --password-file=/etc/rsync.passwd ./* rsync_backup@172.16.1.41::linux
作用:
使用密碼文件
方法三:添加環境變量
1、定義環境變量
export RSYNC_PASSWORD=123456
2、同步
[root@m01 ~]# rsync -avzP ./* rsync_backup@172.16.1.41::linux
三:rsync實時同步(產生數據立刻備份)
- inotify簡介
rsync是不支持實時同步的,通常我們借助於inotify這個軟件來實時監控文件變化,一旦inotify監控到文件變,則立即調用rsync進行同步。
- 兩種結合 取長補短(實現實時同步)
1.安裝inotify(裝在客戶端)
[root@web01 ~]# yum -y install inotify-tools
2.inotify參數介紹
-m 持續監控
-r 遞歸
-q 靜默,僅打印時間信息
--timefmt 指定輸出時間格式
--format 指定事件輸出格式
%Xe 事件
%w 目錄
%f 文件
-e 指定監控的事件
access 訪問
modify 內容修改
attrib 屬性修改
close_write 修改真實文件內容
open 打開
create 創建
delete 刪除
umount 卸載
四:開始實時監控
- 測試開啟實時監控客戶端數據
[root@m01 ~]# /usr/bin/inotifywait -mrq --format '%Xe %w %f' -e create,modify,delete,attrib,close_write /root
1.開啟客戶端(復制)
2.實時監控
五:實時監控並同步實時備份
[root@m01 ~]# /usr/bin/inotifywait -mrq --format '%Xe %w %f' -e create,modify,delete,attrib,close_write /root | while read line;do
cd /root
rsync -avzP --delete --password-file=/etc/rsync.passwd ./* rsync_backup@172.16.1.41::backup
done