inotify+rsync
生活随笔
收集整理的這篇文章主要介紹了
inotify+rsync
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
servre1:10.1.1.88
server2:10.1.1.82
需要讓server2實時同步server1上的代碼,
server1 上操作:
1.安裝inotify
tar?-zxvf?inotify-tools-3.14.tar.gz? ./configure?&&?make?&&?make?install2.鏈接庫
64 位系統安裝完畢后,報錯,找不到庫文件,需要做鏈接
ln?-s?/usr/local/lib/libinotifytools.so.0?/usr/lib64/libinotifytools.so.03.配置rsync+ssh
此處略過,ssh 做互相認證
4.配置腳本
#!/bin/bash INOT=/usr/local/bin/inotifywait RSYNC=/usr/bin/rsync SRC=/opt/wwwroot/ DST=/opt/wwwroot/ DST_IP=10.1.1.82 USER=root #--?COMMAND?--# $INOT?-mr?--timefmt?'%d/%m/%y%H:%M'?--format?'%T%w%f'?-e?modify,delete,create,attrib?$SRC?|?while?read?file? do$RSYNC?-auvz?-e?'ssh?-p?22'?--delete?$SRC?$USER@$DST_IP:$DST done #---?END?--#5.執行腳本
nohup?sh?rsync_inoti.sh?&附加:
inotifywait 語法: inotifywait?[-hcmrq]?[-e?]?[-t?]?[--format?]?[--timefmt?]?[?...?] 參數: -h,–help 輸出幫助信息 @ 排除不需要監視的文件,可以是相對路徑,也可以是絕對路徑。 –fromfile? 從文件讀取需要監視的文件或排除的文件,一個文件一行,排除的文件以@開頭。 -m,?–monitor 接收到一個事情而不退出,無限期地執行。默認的行為是接收到一個事情后立即退出。 -d,?–daemon 跟–monitor一樣,除了是在后臺運行,需要指定–outfile把事情輸出到一個文件。也意味著使用了–syslog。 -o,?–outfile? 輸出事情到一個文件而不是標準輸出。 -s,?–syslog 輸出錯誤信息到系統日志 -r,?–recursive 監視一個目錄下的所有子目錄。 -q,?–quiet 指定一次,不會輸出詳細信息,指定二次,除了致命錯誤,不會輸出任何信息。 –exclude? 正則匹配需要排除的文件,大小寫敏感。 –excludei? 正則匹配需要排除的文件,忽略大小寫。 -t?,?–timeout? 設置超時時間,如果為0,則無限期地執行下去。 -e?,?–event? 指定監視的事件。 -c,?–csv 輸出csv格式。 –timefmt? 指定時間格式,用于–format選項中的%T格式。 –format? 指定輸出格式。 %w?表示發生事件的目錄 %f?表示發生事件的文件 %e?表示發生的事件 %Xe?事件以“X”分隔 %T?使用由–timefmt定義的時間格式inotifywatch
語法: inotifywatch?[-hvzrqf]?[-e?]?[-t?]?[-a?]?[-d?]?[?...?] 參數: -h,?–help 輸出幫助信息 -v,?–verbose 輸出詳細信息 @ 排除不需要監視的文件,可以是相對路徑,也可以是絕對路徑。 –fromfile? 從文件讀取需要監視的文件或排除的文件,一個文件一行,排除的文件以@開頭。 -z,?–zero 輸出表格的行和列,即使元素為空 –exclude? 正則匹配需要排除的文件,大小寫敏感。 –excludei? 正則匹配需要排除的文件,忽略大小寫。 -r,?–recursive 監視一個目錄下的所有子目錄。 -t?,?–timeout? 設置超時時間 -e?,?–event? 只監聽指定的事件。 -a?,?–ascending? 以指定事件升序排列。 -d?,?–descending? 以指定事件降序排列。可監聽事件
access文件讀取 modify文件更改。 attrib文件屬性更改,如權限,時間戳等。 close_write以可寫模式打開的文件被關閉,不代表此文件一定已經寫入數據。 close_nowrite以只讀模式打開的文件被關閉。 close文件被關閉,不管它是如何打開的。 open文件打開。 moved_to一個文件或目錄移動到監聽的目錄,即使是在同一目錄內移動,此事件也觸發。 moved_from一個文件或目錄移出監聽的目錄,即使是在同一目錄內移動,此事件也觸發。 move包括moved_to和?moved_from move_self文件或目錄被移除,之后不再監聽此文件或目錄。 create文件或目錄創建 delete文件或目錄刪除 delete_self文件或目錄移除,之后不再監聽此文件或目錄 unmount文件系統取消掛載,之后不再監聽此文件系統轉載于:https://blog.51cto.com/ckl893/1682242
總結
以上是生活随笔為你收集整理的inotify+rsync的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GIT 技巧
- 下一篇: serialVersionUID---j