inotify進行對伺服器檔案監聽,一旦檢測到有改動則發起同步rsync伺服器檔案到客戶端
1)# tar zxvf rsync-3.0.6.tar.gz
2)# cd rsync-3.0.6
3)# ./configure
4)# make
5)# make install
在/etc/目錄下新建rsyncd.conf檔案,其中配置資訊如下:
uid = root
gid = root
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /data/test #同步的目錄位址
ignore errors
read only = no
list = no
auth users = rsync #同步該模組時使用者名稱 需要與rsync.pass檔案下的使用者名稱保持一致即可
secrets file = /etc/rsync.pass
更改rsync.pass的檔案許可權
rsync --daemon --config=/etc/rsync.conf
rsync --daemon --config=/etc/rsync.conf
檢視是否啟動成功
[root@localhost /]# cd /
[root@localhost /]# lsof -i:873
command pid user fd type device size/off node name
rsync 56860 root 4u ipv4 134802 0t0 tcp *:rsync (listen)
rsync 56860 root 5u ipv6 134803 0t0 tcp *:rsync (listen)
rsync.conf的配置檔案和主伺服器配置一致,只是rsync.pass檔案內容為
rsync:123456
rsync --daemon --config=/etc/rsync.conf
rsync --daemon --config=/etc/rsync.conf
待兩台rsync服務都啟動,可以先測試一波是否能夠達到同步
[root@localhost /]#rsync -vzrtopg --delete --progress --password-file=/etc/rsync.pass /data/test/ [email protected]::backup
以上命令是伺服器端跟新後同步到客服端(將主伺服器的/data/test目錄下的檔案同步到192.168.13.131的backup模組中配置的path下
)[root@localhost srv]# rsync -vzrtopg --delete --progress --password-file=/etc/rsync.pass /data/test/ [email protected]::backup
sending incremental file list
./aaa
9 100% 0.00kb/s 0:00:00 (xfer#1, to-check=6/8)
ccc8 100% 7.81kb/s 0:00:00 (xfer#2, to-check=5/8)
ddddd
4 100% 3.91kb/s 0:00:00 (xfer#3, to-check=4/8)
dsaddsad
4 100% 3.91kb/s 0:00:00 (xfer#4, to-check=3/8)
fds5 100% 4.88kb/s 0:00:00 (xfer#5, to-check=2/8)
fdsf
4 100% 3.91kb/s 0:00:00 (xfer#6, to-check=1/8)
nnn5 100% 4.88kb/s 0:00:00 (xfer#7, to-check=0/8)
sent 447 bytes received 144 bytes 394.00 bytes/sec
total size is 39 speedup is 0.07
[root@localhost srv]#
出現以上資訊則代表同步成功
用inotify-tool來檢測主伺服器的檔案目錄,如果有改動則直接觸發同步伺服器和客戶端的檔案,該inoty
# wget
# tar xzvf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.13
# ./configure
--prefix=/usr/local/inotify
# make
# make install
#vi /srv/rsync.sh 指令碼內容如下
#!/bin/bash
src=/data/test/ #監視改檔案路徑,資料夾內容發生改變觸發伺服器資料同步
des=backup #客服端配置的模組(客服端會介紹)
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %h:%m' --format '%t %w%f' -e modify,delete,create,attrib $src | while read files #這邊要主要下inotifywait,只有linux 2.6.13 或更高版的才會相容
do for hostip in $host
do #rsync -vzrtopg --delete --progress rsync@$hostip::$des $src --password-file=/etc/rsync.pass 該命令是客服端跟新後同步到伺服器端
rsync -vzrtopg --delete --progress --password-file=/etc/rsync.pass $src rsync@$hostip::$des #改命令是伺服器端跟新後同步到客服端(看具體使用情況選擇)
#--password-file=/etc/rsync.pass 配置到客服端,也就是客戶端路徑下有rsync.pas 用於配置登陸密碼
#rsync 是客戶端配置的登陸名
done
echo "$ was rsynced" >>/tmp/rsync.log 2>&1 #生成日誌檔案
done
#nohup /bin/bash /srv/rsync.sh & //後台不結束通話地執行命令
#echo "nohup /bin/bash /root/bin/rsync.sh &" >> /etc/rc.local //設定linux伺服器啟動自動啟動nohup
Linux下Redis下安裝
redis安裝 檢查是否安裝redis ps ef grep redis2.檢查gcc服務是否安裝成功 rpm qa grep gcc注 安裝成功則顯示 mkdir redis5.解壓redis安裝包 tar zxvf redis 2.8.17 tar.gz c usr local redis 解壓...
Linux下程式設計
windows下我的環境為 windows10 vs2015 opencv3.4.0 opencv3.4.0 contrib python linux下我的環境為 ubuntu16004 也有ubuntu1804 opencv3.4.0 opencv3.4.0 contrib python gnu ...
linux下萬用字元
萬用字元是一類鍵盤字元,有星號 和問號 當查詢檔案呀資料夾時,可以使用它來代替乙個或多個真正字元 當不知道真正字元或者不想建入完整名字時,常常使用萬用字元代替乙個或多個真正字元。星號 可以使用星號代替0個或多個字元。如果正在查詢以aew開頭的乙個檔案,但不記得檔名其餘部分,可以輸入aew,查詢以ae...