日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

inotify+rsync

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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?install

2.鏈接庫

64 位系統安裝完畢后,報錯,找不到庫文件,需要做鏈接

ln?-s?/usr/local/lib/libinotifytools.so.0?/usr/lib64/libinotifytools.so.0

3.配置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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。