服務器先安裝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
檢查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