nfs+inotify

服務器先安裝nfs服務,由於nfs服務端沒有固定端口給客戶端訪問,因此須要藉助rpc服務的111端口給客戶端鏈接,即客戶端訪問rpc會調用nfs服務html

yum -y install rpcbind nfs-utilsgit

因爲nfs共享目錄須要給網頁服務器使用,而且要對共享目錄作一個實時同步操做,爲了目錄下文件權限的統一以及推送到rsync服務器時不會報權限錯誤,故在rsync服務器上新建用戶,並把Uid,Gid改爲65534github

建立共享目錄,並把權限改爲nfsnobodybash

mkdir /nfs-server      chown nfsnobody.nfsnobody /nfs-server服務器

設置nfs配置文件async

echo '/nfs-server 0.0.0.0/24(rw,async,all_squash)' >/etc/exportstcp

先啓動rpcbind,在啓動nfs服務,並把服務加入開機自啓動spa

systemctl start rpcbind   systemctl enable rpcbindcode

開放防火牆端口orm

  tcp  111 2049 端口     udp 111  4046 端口
  firewall-cmd --zone=public --add-port=4046/udp --permanent
  firewall-cmd --reload
  firewall-cmd --list-port

檢查nfs啓動狀況

showmount -e 出現共享目錄即爲成功

下載inotify-tools

http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

解壓,安裝

cd  inotify-tools-3.14.

./configure --prefix=/usr/local/inotify-tools-3.14

make && make install

ln -s /usr/local/inotify-tools-3.14/ /usr/local/inotify-tools

安裝完寫腳本監測nfs共享目錄,即當目錄發生建立,刪除,寫入,關閉時把該目錄下數據實時同步到rsync服務器上

#!/bin/bash
inotify=/usr/local/inotify-tools/bin/inotifywait
$inotify -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e delete,create,close_write /data
 \
|while read file
do
  cd / &&
  rsync -az /data --delete rsync_backup@0.0.0.0::backup \
  --password-file=/etc/rsync.password
done

 詳細參考https://www.cnblogs.com/hackerer/p/5243639.html

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息