您的位置:首頁技術文章
文章詳情頁

rsync結合 inotfiy 實現實時備份的問題

瀏覽:98日期:2022-06-03 09:12:46

1. 簡介

rsync簡介:
rsync是linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步,支持本地復制,或者與其他SSH、rsync主機同步

Inotify簡介:
Inotify 是一種強大的、異步的文件系統事件監控機制,通過Inotify可以監控文件系統中添加、刪除,修改、移動等各種細微事件,利用這個內核接口,第三方軟件就可以監控文件系統下文件的各種變化情況

2. 實驗環境:

 

ip地址 角色 192.168.153.180 備份源 sync client + inotify 192.168.153.181 備份端 rsync server

兩臺機器均關閉防火墻和selinux
關閉防火墻

systemctl stop firewalld

關閉selinux

setenforce 0

3. 配置備份端主機(181主機)

3.1 安裝rsync工具

yum -y install rsync

3.2 修改rsync配置文件:

vim /etc/rsyncd.conf

修改后內容如下:(!復制之后刪掉注釋才可使用,不然格式會有問題)

uid=root
gid=root
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[rsync]
path = /opt  #備份路徑
comment = rsync
ignore errors #跳過錯誤
read only = no #讀
write only = no #寫
hosts allow = 192.168.153.180 #備份源ip
list = false
auth users = rsync_user  #用戶

3.3 創建密碼文件并修改權限 創建文件

echo "rsync_user:123" > /etc/rsync.password

修改權限

chmod 600 /etc/rsync.password

3.4 啟動rsync并查看端口驗證

啟動

rsync --daemon

驗證

netstat -ntlp|grep 873
tcp0      0 0.0.0.0:873     0.0.0.0:*       LISTEN      1583/rsync  
tcp6       0      0 :::873  :::*    LISTEN      1583/rsync  

4. 配置備份源端(180主機)

4.1 安裝epel源和所需工具

先安裝epel源

yum -y install  epel-release

再安裝所需工具

yum -y install inotify-tools rsync 

4.2 只需要設置rsync同步密碼即可,不用重設用戶名 創建文件

echo "123" > /etc/rsync.password

修改權限

chmod 600 /etc/rsync.password 

4.3 編寫inotify監控腳本如下:

vim inotify.sh
#!/bin/bash
ip=192.168.153.181 #備份端ip
src=/opt/rsync_src #數據目錄
dst=rsync
user=rsync_user # 用戶
/usr/bin/inotifywait -mrq --timefmt "%d/%m/%y %H:%M" --format "%T %w%f" -e modify,delete,create,attrib ${src} | while read file
do
rsync -vzrtopg --delete --progress $src $user@$ip::$dst --password-file=/etc/rsync.password > /dev/null && echo "$src was rsyncd"
done

3.4 創建源目錄

mkdir /opt/rsync_src

3.5 執行腳本檢測

sh inotify.sh 

3.6 新開窗口在源目錄下創建文件

cd /opt/rsync_src
echo 111 > 1.txt
echo 222 > 2.txt

3.7 在備份端查看新創建的兩個文件已經同步過來

ls /opt/rsync_src/
1.txt  2.txt

3.8 在備份源端刪除1.txt文件

cd /opt/rsync_src
rm -f 1.txt

在備份端查看已經同步刪除

ls /opt/rsync_src/
2.txt

到此這篇關于rsync結合 inotfiy 實現實時備份的文章就介紹到這了,更多相關rsync結合 inotfiy 實現實時備份內容請搜索以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持!

国产综合久久一区二区三区