linux實時監控並實時備份數據(rsync)


一:rsync實時監控備份流程

1.安裝rsync(服務端 與 客服端)守護進程模式
[root@backup ~]# yum install -y rsync

image

2.修改配置文件(服務端)
[root@m01 ~]# vim /etc/rsyncd.conf 

image

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

image

二:客戶端(備份三種方式)

方法一:自己輸入密碼
	[root@m01 ~]# rsync -avzP ./* rsync_backup@172.16.1.41::backup
	
	rsync_backup : 虛擬用戶,只在數據傳輸時使用
	172.16.1.41  : backup服務端的IP
	backup       : 模塊名稱

image

方法二:設置密碼文件,運行時讀取

	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

作用:
使用密碼文件

image

方法三:添加環境變量
	1、定義環境變量
	export RSYNC_PASSWORD=123456
	
	2、同步
	[root@m01 ~]# rsync -avzP  ./* rsync_backup@172.16.1.41::linux

image

三:rsync實時同步(產生數據立刻備份)

  • inotify簡介
rsync是不支持實時同步的,通常我們借助於inotify這個軟件來實時監控文件變化,一旦inotify監控到文件變,則立即調用rsync進行同步。
  • 兩種結合 取長補短(實現實時同步)
1.安裝inotify(裝在客戶端)
[root@web01 ~]# yum -y install inotify-tools

image

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.開啟客戶端(復制)

image

2.實時監控

image

五:實時監控並同步實時備份

[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

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM