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
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