Linux inotify實(shí)時(shí)備份實(shí)現(xiàn)方法詳解
實(shí)時(shí)復(fù)制是企業(yè)數(shù)據(jù)備份最重要的方式,主要用于用戶提交的數(shù)據(jù)的備份,對于用戶提交到服務(wù)器上的普通文件(圖片、壓縮包、視頻、文檔等),可采用 inotify/sersync+rsync實(shí)時(shí)備份方式;對于數(shù)據(jù)文件還有較復(fù)雜的分布式存儲(chǔ)工具自身可以實(shí)現(xiàn)將數(shù)據(jù)同時(shí)備份成多份,例如: FastDFS、 GlusterFS等;對于提交到數(shù)據(jù)庫中的數(shù)據(jù),可使用數(shù)據(jù)庫的主從復(fù)制(例如: MySQL、 Oracle)方式備份,這是軟件自帶的實(shí)時(shí)復(fù)制備份方式。有的企業(yè)會(huì)采用更多思路實(shí)現(xiàn)數(shù)據(jù)同時(shí)變?yōu)槎喾?例如:程序業(yè)務(wù)邏輯在數(shù)據(jù)提交時(shí),同時(shí)提交到兩個(gè)服務(wù)器。
模擬實(shí)時(shí)復(fù)制的部署準(zhǔn)備

實(shí)時(shí)復(fù)制軟件介紹
常用軟件:inotify-tools、sersync(推薦)

實(shí)時(shí)復(fù)制inotify機(jī)制介紹
linux內(nèi)核從2.6.13起加入了Inotify支持,它是一種異步的系統(tǒng)事件監(jiān)控機(jī)制,通過inotify可以監(jiān)控文件系統(tǒng)中添加、刪除、修改、移動(dòng)等各種事件,利用這個(gè)內(nèi)核接口,第三方軟件(如inotify-tools、sersync)可以監(jiān)控文件系統(tǒng)下各文件的變化情況,進(jìn)而做出實(shí)時(shí)響應(yīng)。
注:sersync軟件是在inotify基礎(chǔ)上進(jìn)行開發(fā)的,功能更加強(qiáng)大,支持配置文件配置,定時(shí)重試復(fù)制,過濾機(jī)制,提供接口做CDN數(shù)據(jù)更新,支持多線程操作。
優(yōu)缺點(diǎn)
inotify優(yōu)點(diǎn):監(jiān)控文件系統(tǒng)事件變化,通過復(fù)制工具實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)復(fù)制。支持多線程實(shí)時(shí)復(fù)制。
inotify缺點(diǎn):實(shí)測并發(fā)如果大于200個(gè)文件(10-100k),復(fù)制會(huì)有延遲。
解決思路:前臺(tái)爭取時(shí)間,如我們注冊賬號或上傳數(shù)據(jù)點(diǎn)擊提交后,頁面顯示幾秒后返回原頁面。
inotify+rsync項(xiàng)目實(shí)踐
1.確保rsync服務(wù)可用,可在nfs01服務(wù)器上推拉數(shù)據(jù)到backup服務(wù)器上。

2.檢查系統(tǒng)支持情況
①內(nèi)核版本必須大于2.6.13 ②必須有以下三個(gè)文件


3.測試inotify-tools軟件
[root@nfs01 ~]# yum install inotify-tools -y

開兩個(gè)窗口測試:

編寫腳本:


注:打開另一nfs01窗口,創(chuàng)建、修改、刪除文件,并在backup服務(wù)器中查看是否實(shí)時(shí)同步。
4.測試sersync軟件

上傳軟件包

解壓
tar -xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /application/sersync/

sersync的配置文件是一個(gè)xml文件,先備份一下 cp confxml.xml{,.ori}
修改配置文件(輸入 :set nu 可顯示行號):

執(zhí)行

因?yàn)閟ersync不是yum安裝的,無法使用systemctl命令開啟、關(guān)閉、自啟
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Linux 通過Rsync+Inotify實(shí)現(xiàn)本、異地遠(yuǎn)程數(shù)據(jù)實(shí)時(shí)同步功能
- Linux中使用Pyinotify模塊實(shí)時(shí)監(jiān)控文件系統(tǒng)更改
- Linux inotify監(jiān)聽文件狀態(tài)的操作方法
- linux系統(tǒng)中rsync+inotify實(shí)現(xiàn)服務(wù)器之間文件實(shí)時(shí)同步
- linux系統(tǒng)中通過rsync+inotify實(shí)現(xiàn)網(wǎng)頁自動(dòng)同步
- linux下通過rsync+inotify 實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)備份(遠(yuǎn)程容災(zāi)備份系統(tǒng))
相關(guān)文章
Apache Calcite 實(shí)現(xiàn)方言轉(zhuǎn)換的代碼
這篇文章主要介紹了Apache Calcite 實(shí)現(xiàn)方言轉(zhuǎn)換的代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Apache中解決動(dòng)態(tài)地址跳轉(zhuǎn)死循環(huán)的方法
這篇文章主要介紹了Apache中解決動(dòng)態(tài)地址跳轉(zhuǎn)死循環(huán)的方法,另外作者還提出了盡量使用偽靜態(tài)的建議,需要的朋友可以參考下2015-07-07
Linux 6 修改ssh默認(rèn)遠(yuǎn)程端口號的操作步驟
這篇文章主要介紹了Linux 6 修改ssh默認(rèn)遠(yuǎn)程端口號的操作步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
win8下XAMPP中Apache模塊無效(apache無法打開)的解決方法
win8下系統(tǒng)默認(rèn)占用80端口,導(dǎo)致apache無法打開,下面是具體的解決方法:首先以管理員權(quán)限運(yùn)行c:\windows\system32\cmd.exe.....感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07
詳解安裝Ubuntu Linux系統(tǒng)時(shí)硬盤分區(qū)最合理的方法
這篇文章主要介紹了詳解安裝Ubuntu Linux系統(tǒng)時(shí)硬盤分區(qū)最合理的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05

