1. 程式人生 > 其它 >資料備份 另一伺服器_資料備份關鍵時刻救命,使用Lsyncd進行檔案的同步和備份...

資料備份 另一伺服器_資料備份關鍵時刻救命,使用Lsyncd進行檔案的同步和備份...

技術標籤:資料備份 另一伺服器

014fac99cdb89e6cdaf72cde1a953d9e.png
文:高效人生手冊

今天有時間,我們來探討在linux下,如何進行檔案的同步和備份。

但凡做過系統運維的人都有體會,資料備份何其重要,關鍵時刻救人一命。而,找到一款合適的工具,更是一件勢在必行的先頭工作。

對於那些管理和Linux伺服器的人來說,這條路早晚要走一遍。

之前使用Rsync工具進行資料備份,它的安裝和配置文件稍後整理。


資料備份的原理:

就是在源和目標機器上都安裝rsync軟體,配置相關資訊,啟用服務,定時執行即可。

其中定時執行部分需要在cron中配置任務。lsyncd不用配置cron任務。

這段時間有機會了解到lsyncd,發現這個工具的功能完全覆蓋之前的rsyncd,除此之外,還有一個亮點功能,實時監控源目錄的檔案變化,一旦檔案有變化就能夠進行同步,支援本地,遠端同步的方式。

下面,讓我們來簡單的介紹一下如何使用Lsyncd這個工具吧。


一、首先是安裝

在centos上命令很方便,使用yum install lsyncd即可。

如果報錯等,可能是需要安裝依賴包,如果不能自動解決就手動執行命令:yum install lua lua-devel

ubuntu的話同樣操作,命令稍有不同而已。

二、進行功能配置

軟體安裝完成之後並沒有提供配置檔案,可以在usr/share/doc/lsyncd/examples目錄下找到可以參考的一些例子。

下面,我們來建立配置檔案:

vi /etc/lsyncd.conf
settings 

說明一下:

  1. default.rsyncssh方式,啟用的是ssh方式遠端進行檔案的傳輸。
  2. host後面跟的是目標機器的IP地址,記住前面一定要使用user,特別是ubuntu等機器預設不是root使用者的,一定要註明。否則會報錯:Temporary or permanent failure on startup nsist" is not set
  3. ssh埠,使用預設的話可以去掉。但是特殊埠則需要寫明。
  4. 支援多個sync,上面程式碼中的第二個sync就是本地備份。

三、配置ssh的免密碼登入並啟用服務。

# 

下面用centos來連線ubuntu的操作過程如下。

在centos上生成key檔案

ssh-keygen   
提示輸入檔名稱,比如id_rsa
ssh-copy-id -i /剛剛儲存的證書目錄/id_rsa  你的登入名@伺服器地址
提示目標機器的密碼
最後測試一下登入
ssh 你的登入名@伺服器地址 -p 埠號 -i ~/證書目錄/id_rsa

每一步根據提示進行儲存即可,記住user不要出錯。最後的ssh是用來測試登入的。如果前面兩個步驟完成的話,那麼第三步是可以直接登入系統的。

然後,我們來啟用服務或者重啟服務。

service lsyncd start /restart

至此係統配置完畢,在日誌中可以看到檔案同步的記錄,在目標機器上的相應目錄下也可以看到同步過來的檔案。


四、其他提示

檢視log及狀態的話可以使用

tail /var/log/lsyncd/lsyncd.log 或者status檔案

備註一下,lsyncd使用的是inotify觸發機制,監控的檔案數預設是8192,修改的話可以在/etc/sysctl.conf中增加一行。

fs.inotify.max_user_watches = 1048576

最後用sysctl -p生效即可。

好了,至此我們已經完成了配置。

從中可以看出來,Lsyncd這個工具也是非常簡單的。當然更為深入的應用我們有機會再探討,在此模式下已經能夠解決90%以上的資料備份問題。

附上幾個小工具。

檢視當前目錄下所有檔案的個數,用於統計源和目標的備份情況,特別有效。

ls -lR | grep "^-" | wc -l

檢視當前目錄大小。

du -sh

du -sh * 可以檢視每個目錄的大小

好了,用上面的兩條命令就可以比對源目錄,目標目錄,檔案個數和大小的區別,以確認備份的情況。