rsync+inotify

1、rsyncgit

1.1rsync是啥github

 至關於cp、scp、rm等工具,但優於這些工具,主要用在數據備份centos

 

 

1.二、rsync安裝安全

yum -y install rsync
--update 客戶端刪除文件 ,服務端不會刪除,若是客戶端再建立同名文件 ,會覆蓋服務端文件

 

1.三、Rsync 服務器端配置修改服務器

  vi  /etc/rsyncd.conf併發

以下注釋要刪掉,否則 不能用。。
##rsyncd.conf start##
uid = rsync   ##進程對應的用戶,是虛擬用戶。遠端的命令使用rsync訪問共享目錄
gid = rsync   ##進程對應的用戶組。
use chroot = no    ##安全相關
max connections = 200      ##最大鏈接數
timeout = 300    ##超時時間
pid file = /var/run/rsyncd.pid      ##進程對應的進程號文件
lock file = /var/run/rsyncd.lock     ##鎖文件
log file = /var/log/rsyncd.log        ##日誌文件
[bk]     ###模塊名稱,對應客戶端 rsync -avz /tmp/ rsync_backup@47.106.130.253::bk
path = /backup      ###服務器提供訪問的目錄
ignore errors       ##忽略錯誤
read only = false    ##可寫
list = false      ##不能列表
hosts allow = 172.16.1.0/24  ##容許的ip地址
##hosts deny = 0.0.0.0/32
auth users = rsync_backup     ##虛擬用戶
secrets file = /etc/rsync.password    ###虛擬密碼

參考:https://blog.csdn.net/qq_41816540/article/details/80611757工具

#建立用戶
    useradd rsync -s /sbin/nologin -M
#建立目錄
    mkdir  /backup
    chown -R rsync.rsync /backup/
#建立密碼
    echo "rsync_backup:123456" >>/etc/rsync.password
    chmod 600 /etc/rsync.password
#啓動服務
    rsync --daemon 
    ps  -ef |grep rsync|grep -v grep ##查看進程有沒有啓動
    netstat  -lntup|grep rsync
#加入開機啓動
    systemctl enable rsyncd.service

 

1.四、啓動rsync服務端優化

#centos7啓動
systemctl start rsyncd.service

 

1.五、rsync客戶端命令ui

  推拉都是客戶端操做centos7

  

·  

rsync中的-delete參數是指「 刪除那些DST中SRC沒有的文件」

#建立客戶端密碼文件
echo "oldboy" >>/etc/rsync.password
chmod 600 /etc/rsync.password
rsync -avz /tmp/ rsync_backup@47.106.130.253::bk --password-file=/etc/rsync.password
#排除某個文件
rsync -avz --exclude=a /tmp/ rsync_backup@47.106.130.253::bk --password-file=/etc/rsync.password

#排除多個文件

rsync -avz --exclude={a,b} /tmp/ rsync_backup@47.106.130.253::bk --password-file=/etc/rsync.password

 

2、Inotify

2.一、Inotify是啥

  實時監控文件變化,最多支持200-300併發

2.二、查看是否支持

ls -l /proc/sys/fs/inotify

 

2.3安裝Inotify

wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar xzvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify-tools
make
make install

 

2.四、Inotify命令

/usr/local/inotify-tools/bin/inotifywait -mrq  --format '%d/%m/%y %H:%M' -c create,delete,close_write /data 
-r recursive遞歸
-q quiet打印好少信息
-m monitor始終保持監聽
--format 監控到的文件格式

 

2.五、腳本實時同步

 

 2.6優化

關鍵參數說明:
在/proc/sys/fs/inotify目錄下有三個文件,對inotify機制有必定限制
max_user_watches:設置inotifywait或inotifywatch命令能夠監視的文件數量(單進程)
max_user_instances:設置每一個用戶能夠運行的inotifywait或inotifywatch命令的進程數
max_queued_events:設置inotify實例事件(event)隊列可容納的事件數量
echo "50000000"> /proc/sys/fs/inotify/max_user_watches
echo "50000000"> /proc/sys/fs/inotify/max_queued_events

 

 

 

Inotify安裝報錯

報錯 libinotifytools.so.0: cannot open shared object file
32位系統:ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib/libinotifytools.so.0
64位系統:ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0

 

 

 

 

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