rsync浠嬬粛
Rsync鏄竴娆懼紑婧愮殑銆佸揩閫熺殑銆佸鍔熻兘鐨勩€佸彲瀹炵幇鍏ㄩ噺鍙婂閲忕殑鏈湴鎴栬繙绋嬫暟鎹悓姝ュ浠界殑浼樼宸ュ叿銆傚苟涓斿彲浠ヤ笉杩涜鏀瑰彉鍘熸湁鏁版嵁鐨勫睘鎬т俊鎭紝瀹炵幇鏁版嵁鐨勫浠借縼绉葷壒鎬с€? Rsync鏄竴涓揩閫熷拰闈炲父閫氱敤鐨勬枃浠跺鍒跺伐鍏楓€傚畠鑳芥湰鍦闆鍒訛紝杩滅▼澶嶅埗锛屾垨鑰呰繙绋嬪畧鎶よ繘绋嬫柟寮忓鍒躲€傚畠鎻愪緵浜嗗ぇ閲忕殑鍙傛暟鏉ユ帶鍒跺叾琛屼負鐨勫悇涓柟闈紝骞朵笖鍏佽闈炲父鐏墊椿鐨勬柟寮忔潵瀹炵幇鏂囦歡鐨勪紶杈撳鍒躲€傚畠浠ュ叾delta-transfer绠楁硶闂誨悕銆?
inotify-tools浠嬬粛
inotify-tools, 鏄竴娆緂oogle鍑虹殑鐢ㄤ簬鐩戞帶鏂囦歡绯葷粺鐨勮蔣浠躲€? inotify-tools鎻愪緵涓ょ宸ュ叿锛? 涓€鏄痠notifywait锛屽畠鏄敤鏉ョ洃鎺ф枃浠舵垨鐩綍鐨勫彉鍖栵紝浜屾槸inotifywatch锛屽畠鏄敤鏉ョ粺璁℃枃浠剁郴缁熻闂殑娆℃暟銆?
鏂囦歡瀹炴椂鍚屾鐨勬€濊礬
鏈嶅姟绔細琚姩鐨勬帴鏀朵紶杈撹繃鏉ョ殑鏁版嵁
瀹㈡埛绔細涓誨姩鎻愪緵鏁版嵁缁欐湇鍔$
瀹夎鎬濊礬锛氭湇鍔$鍜屽鎴風閮介渶瑕佸畨瑁卹sync杞歡銆傚洜涓烘垜杩欓噷鐞嗚В鐨勫鎴風鏄彁渚涙暟鎹粰鏈嶅姟绔紝鎵€浠ュ鎴風闇€瑕佸疄鏃剁洃娴嬫枃浠剁殑鍙樺姩锛岃繖閲岀殑瀹㈡埛绔渶瑕佸畨瑁卛notify杞歡銆?
瀹夎骞堕厤缃畆sync
- 涓ょ瀹夎鏂瑰紡锛?
- 鐩存帴浣跨敤yum鍛戒護瀹夎(鏈漢閲囩敤)
yum -y install rsync
- 浣跨敤缂栬瘧瀹夎
[[email聽protected] ~]# cd /usr/local/src/ [[email聽protected] src]# wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz [[email聽protected] src]# tar zxvf rsync-3.0.9.tar.gz [[email聽protected] src]# cd rsync-3.0.9 [[email聽protected] rsync-3.0.9]# ./configure --prefix=/usr/local/rsync [[email聽protected] rsync-3.0.9]# make [[email聽protected] rsync-3.0.9]# make install
- 璁劇疆瀵嗙爜璁よ瘉鏂囦歡鍜岄厤缃枃浠?
- 鍒涘緩瀵嗙爜璁よ瘉鏂囦歡(鏈嶅姟绔?
[[email聽protected] ~]# mkdir -p /usr/local/rsync [[email聽protected] ~]# echo "web:123" > /usr/local/rsync/rsyncd.passwd [[email聽protected] ~]# cd /usr/local/rsync [[email聽protected] ~]# chmod 600 rsyncd.passwd
- 鍒涘緩瀵嗙爜璁よ瘉鏂囦歡(瀹㈡埛绔?
[[email聽protected] ~]# mkdir -p /usr/local/rsync [[email聽protected] ~]# echo "123" > /usr/local/rsync/rsync.passwd [[email聽protected] ~]# cd /usr/local/rsync [[email聽protected] ~]# chmod 600 rsync.passwd
-
淇敼鏈嶅姟绔殑rsync閰嶇疆鏂囦歡
瀹夎鏂瑰紡涓嶅悓寮曞彂鐨勯厤缃枃浠跺尯鍒細
1.鐩存帴浣跨敤yum鍛戒護瀹夎鏃?/li>
2.浣跨敤缂栬瘧瀹夎(涓句緥)[[email聽protected] ~]# vi /etc/rsyncd.conf uid = root gid = root use chroot = no max connections = 200 timeout = 1000 transfer logging = yes pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log log format = %t %a %m %f %b port = 873 ignore errors #read only = yes #address = 192.168.248.136 [web] path = /home read only = false write only = yes hosts allow = 192.168.248.138 192.168.248.136 hosts deny = * list = false auth users = web secrets file = /usr/local/rsync/rsyncd.passwd #read only = yes #exclude = test/ #涓嶅悓姝ョ殑鐩綍
[[email聽protected] rsync]# vi /usr/local/rsync/rsyncd.conf uid = root gid = root use chroot = no max connections = 4 strict modes = yes hosts allow = 192.168.1.101 #鍙互绌烘牸锛屽厑璁稿涓?port = 873 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log [test] path = /home/test ignore errors read only = false list = false auth users = backup secrets file = /usr/local/rsync/rsyncd.passwd
PS锛氭敞鎰忚繖閲岃灏唕ead only 淇敼涓?false, 鍥犱負鏄灏嗘枃浠跺悓姝ュ埌璇ユā鍧楃殑锛屽繀椤誨彲鍐? rsync鏈嶅姟绔厤缃枃浠跺垎鍏ㄥ眬瀹氫箟鍜屾ā鍧楀畾涔夛細
鍏ㄥ眬瀹氫箟锛?
#鍙互鍦ㄥ叏灞€瀹氫箟涓紝瀹氫箟妯″潡鍙傛暟銆?#rsync鐨剏es/no鍜宼rue/false閮芥槸閫氱敤鐨勶紝寤鴻鐢ㄤ竴绉嶅啓娉曘€? port = 873 #鎸囧畾绔彛鍙鳳紙榛樿鏄?73锛夛紝鍙渷鐣ヤ笉鍐? motd file = /etc/rsyncd/rsyncd.motd #motd file 鎸囧畾涓€涓秷鎭彁绀虹殑鏂囦歡锛岃鑷繁鍐欐枃浠跺唴瀹癸紝涓€鑸兘涓嶅啓锛屼笉褰卞搷杩愯锛岀湅涓漢鍠滃ソ銆? #涓句緥锛氫綘鍦ㄦ湇鍔$瀹氫箟浜嗚繖涓枃浠訛紝鏂囦歡鍐呭涓篢his is motd file!锛屼綘鍦ㄥ鎴風浣跨敤rsync杩涜鍚屾鏈嶅姟绔椂锛岄鍏堜細鎻愮ずThis is motd file!鐒跺悗鍐嶈繘琛屽悓姝ャ€? pid file = /var/run/rsyncd.pid #灏唕sync瀹堟姢杩涚▼鐨凱ID鍐欏叆鎸囧畾鐨勬枃浠訛紝闃叉澶氫釜瀹堟姢杩涚▼杩愯锛堝綋kill鏉€姝籔ID鍚庯紝涔熻鍚屾椂鍒犻櫎浣犲畾涔夌殑rsyncd.pid锛屽惁鍒欐槸鏃犳硶鍚姩鐨勶紝鎴戣繖閲屾槸浠ョ嫭绔嬭繍琛宺sync鏈嶅姟鐨勬埅鍥撅級 socket options 瀹氫箟TCP閫夐」锛岄粯璁ゅ叧闂?address 鍏抽棴鍗沖彲 妯″潡瀹氫箟锛? [demo] #瀹氫箟妯″潡鐨勫悕瀛楋紝rsync灏嗛€氳繃杩欎釜鍚嶅瓧鏉ョ‘瀹氬悓姝ラ偅涓枃浠跺す锛岃繖涓ā鍧楁槸蹇呴』鐨? path = /opt/www #鎸囧畾闇€瑕佸悓姝ョ殑鐩綍鎵€鍦ㄤ綅缃? comment = whsir #娉ㄩ噴 ignore errors #蹇界暐IO閿欒 exclude = test1/ test2/ #鎺掗櫎鐩綍锛屾帓闄や笉闇€瑕佸悓姝ョ殑鐩綍锛屽涓箣闂翠嬌鐢ㄧ┖鏍奸殧寮€ --exclude-from=FILE #浠庢枃浠惰鍙栨帓闄ゆā寮忥紙灏嗘帓闄ょ殑鏂囦歡鎴栫洰褰曞啓鍦ㄤ竴涓枃浠朵腑锛屼竴琛屼竴涓枃浠舵垨鐩綍锛? --include-from=FILE #浠庢枃浠惰鍙栧寘鍚ā寮忥紙灏嗘帓闄ょ殑鏂囦歡鎴栫洰褰曞啓鍦ㄤ竴涓枃浠朵腑锛屼竴琛屼竴涓枃浠舵垨鐩綍锛? include = test3/ test4/ #鎸囧畾鐩綍锛岃鍜宔xclude涓€鍚屼嬌鐢? charset = GBK #鎸囧畾缂栫爜鏍煎紡锛屼竴鑸槸鍦╳indows鍜宭inux涔嬮棿鍚屾鏃剁敤鍒幫紙Windows鍜孡inux绔痳sync鎺ㄦ媺鍚屾https://blog.whsir.com/post-527.html锛? auth users = user #鎸囧畾鐢ㄦ潵鍚屾鐨勭敤鎴鳳紝鍙嬌鐢ㄧ┖鏍兼垨鑰呴€楀彿闅斿紑澶氫釜鐢ㄦ埛鍚嶏紝濡傛灉涓嶄嬌鐢ㄦ閫夐」锛岄粯璁ゅ尶鍚嶏紝缁撳悎secrets file鏉ヤ嬌鐢? secrets file = /etc/rsyncd/rsyncd.secrets #鎸囧畾瀵嗙爜鏂囦歡鐨勮礬寰勶紝鍏跺疄鏂囦歡鍚庣紑涓嶄竴瀹氶潪鏄?secrets锛屽彲浠ュ啓鍦ㄥ叏灞€閰嶇疆閲屻€?etc/rsyncd/rsyncd.secrets鏂囦歡鍐呭鏍煎紡涓猴紝鐢ㄦ埛鍚?瀵嗙爜锛屾敞鎰忎腑闂寸敤鍐掑彿锛岀粨鍚坅uth users鏉ヤ嬌鐢? uid = nobody gid = nobody #鎸囧畾鐢ㄦ埛鍜岀敤鎴風粍鏉ユ墽琛岋紝榛樿nobody use chroot = false #鐢╟hroot锛屽湪浼犺緭鏂囦歡涔嬪墠锛屾湇鍔″櫒瀹堟姢绋嬪簭鍦ㄥ皢chroot 鍒版枃浠剁郴缁熶腑鐨勭洰褰曚腑锛岃繖鏍峰仛鐨勫ソ澶勬槸鍙兘淇濇姢绯葷粺琚畨瑁呮紡娲炰鏡琚殑鍙兘銆傜己鐐規槸闇€瑕佽秴绾х敤鎴鋒潈闄愩€傚彟澶栧绗﹀彿閾炬帴锛堣蔣閾炬帴锛夋枃浠訛紝灏嗕細鎺掗櫎鍦ㄥ銆傚緩璁甪alse锛屽綋鐒朵綘涔熷彲浠ュ啓鎴恘o銆?#chroot涓簍rue鏃跺繀椤諱嬌鐢╮oot鏉冮檺锛屼笖涓嶈兘澶囦喚path璺緞澶栫殑閾炬帴鏂囦歡 write only = false #鏄惁绂佹瀹㈡埛绔笅杞斤紙瀹㈡埛绔敤rsync鎷夋湇鍔$鐨勬枃浠跺氨鐩稿綋浜庝笅杞斤級锛屽鏋滀負true锛屽垯瀹㈡埛绔笉鑳戒嬌鐢╮sync鎷夋湇鍔$鐨勬枃浠訛紝浼氭姤鍑轟竴涓嬮敊璇紝涓嶅啓杩欎釜鍙傛暟鐨勮瘽锛岄粯璁ゆ槸disabled锛涜嫢涓篺alse骞朵笖鏈嶅姟鍣ㄧ洰褰曚篃鍏鋒湁璇繪潈闄愬垯鍏佽涓嬭澆銆? ERROR: module is write only rsync error: syntax or usage error (code 1) at main.c(692) [sender=3.0.6] rsync: connection unexpectedly closed (5 bytes received so far) [receiver] rsync error: error in rsync protocol data stream (code 12) at io.c(600) [receiver=3.0.6] read only = false #鎸囧畾鏄惁鍏佽瀹㈡埛涓婁紶鏂囦歡銆傝嫢涓?true 鍒欎笉鍏佽涓婁紶锛堜篃灏辨槸瀹㈡埛绔敤rsync鎺級锛涜嫢涓篺alse骞朵笖鏈嶅姟鍣ㄧ洰褰曚篃鍏鋒湁璇誨啓鏉冮檺鍒欏厑璁鎬笂浼犮€? hosts allow=192.168.1.0/255.255.255.0 123.0.0.0/8 123.123.123.123 #鎸囧畾鍝簺瀹㈡埛绔厑璁歌繛鎺ヨ妯″潡锛屽彲浠ユ槸鍗曚釜IP锛屼篃鍙互鎸囧畾鏁翠釜缃戞锛屾牸寮忔槸ip涓巌p涔嬮棿銆乮p鍜岀綉娈典箣闂淬€佺綉娈靛拰缃戞涔嬮棿瑕佺敤绌烘牸闅斿紑 锛屽鏋滃啓*鍒欐槸鎵€鏈? hosts deny = * #鎸囧畾鍝簺瀹㈡埛绔笉鍏佽杩炴帴璇ユā鍧楋紝*鏄墍鏈夛紙hosts allow瀹氫箟浜嗗鎴風鐨処P骞跺啓鍦ㄤ簡hosts deny鐨勫墠闈紝鍒欏彧鍏佽hosts allow瀹氫箟鐨処P杩涜杩炴帴锛岃繖閲岄渶瑕佹敞鎰廻osts allow鍜宧osts deny鐨勫厛鍚庨『搴忥級 max connections = 3 #骞跺彂杩炴帴鐨勬渶澶ф暟锛屽湪杈懼埌鏈€澶у€兼椂锛屽鏋滃啀鏈夊鎴風浣跨敤鍚屾浼氭彁绀哄涓嬩俊鎭細 @ERROR: max connections (1) reached -- try again later rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6] 鎻愮ず瀹㈡埛绔揪鍒版渶澶ц繛鎺ユ暟锛岀◢鍚庡皾璇曪紝濡傛灉鍐欐垚0鍒欎笉闄愬埗锛岃礋鍊肩鐢ㄦā鍧楋紝閰嶅悎lock file閿佹枃浠朵嬌鐢ㄣ€?濡傛灉灏唌ax connections鍜?var/log/rsync.lock瀹氫箟鍦╗妯″潡]涓嬶紝鍒欏彧瀵瑰綋鍓嶆ā鍧楃敓鏁堛€?濡傛灉灏唌ax connections鍜?var/log/rsync.lock瀹氫箟鍦ㄥ叏灞€涓嬶紝鍒欏涓嬮潰鎵€鏈夌殑妯″潡鐢熸晥锛屽鏋滆缃叏灞€max connections=1閭d箞濡傛灉浣犲畾涔夊涓ā鍧楋紝鍒欏悓鏃跺彧鑳借繛鎺ヤ竴涓紝鏍規嵁浣跨敤鎯呭喌杩涜璁劇疆锛侊紒锛? lock file = /var/run/rsyncd.lock #rsync瀹堟姢杩涚▼瀵規鏂囦歡浣跨敤璁闆綍閿佸畾锛岀‘淇濇湇鍔$[妯″潡]涓嶈秴杩囨渶澶ц繛鎺ユ暟锛岄厤鍚坢ax connections浣跨敤銆? timeout = 600 #瓒呮椂鏃堕棿锛岃秴杩囪繖涓椂闂村皢浼氭柇寮€杩炴帴锛岀‘淇漴sync鏈嶅姟鍣ㄤ笉浼氫竴鐩寸瓑寰呬竴涓穿婧冪殑瀹㈡埛绔紝寤鴻璁劇疆600绉掞紝濡傛灉璁劇疆涓?锛屽垯琛ㄧず娌℃湁瓒呮椂銆? transfer logging = false #鏄惁璁闆綍浼犺緭鏃ュ織锛屽緩璁甪alse log file = /var/log/rsync.log #鎸囧畾rsync瀹堟姢杩涚▼鐨勬棩蹇楁枃浠? log format = %t %a %m %f %b #鏃ュ織鏂囦歡鏍煎紡锛屾牴鎹嚜韬儏鍐甸€夋嫨鏄惁浣跨敤 list = false #鏄惁鏄劇ず鏁版嵁鐩綍锛屼粠瀹夊叏鐨勮搴﹀嚭鍙戯紝杩欓噷搴旇瑕乫alse
- 浠ュ畧鎶よ繘绋嬫柟寮忓惎鍔╮sync鏈嶅姟鍣?鍙惎鍔ㄦ湇鍔$,瀹㈡埛绔笉闇€瑕佸惎鍔級
- 浣跨敤yum鍛戒護瀹夎鏃?/li>
rsync --daemon
- 浣跨敤缂栬瘧瀹夎鏃?/li>
rsync --daemon --config=/usr/local/rsync/rsyncd.conf
- 鍔犲叆寮€鏈鴻嚜鍚姩
echo "/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf" >> /etc/rc.local
- 楠岃瘉rsync鏄惁瀹夎鎴愬姛
#瀹㈡埛绔笂鎵ц锛屽皢瀹㈡埛绔殑鏂囦歡鍚屾缁欐湇鍔$ /usr/bin/rsync -vzrtopg --progress --password-file=/usr/local/rsync/rsync.passwd /opt/webstatic [email聽protected].168.1.9::web #瀹㈡埛绔笂鎵ц锛屽皢鏈嶅姟绔殑鏂囦歡鍚屾缁欏鎴風 rsync -vzrtopg --delete --progress --password-file=/usr/local/rsync/rsync.passwd [email聽protected].168.1.102::test /opt/webstatic
- rsync鎿嶄綔鍛戒護
-v, --verbose 璇︾粏妯″紡杈撳嚭 -q, --quiet 绮劇畝杈撳嚭妯″紡 -c, --checksum 鎵撳紑鏍¢獙寮€鍏籌紝寮哄埗瀵規枃浠朵紶杈撹繘琛屾牎楠? -a, --archive 褰掓。妯″紡锛岃〃绀轟互閫掑綊鏂瑰紡浼犺緭鏂囦歡锛屽苟淇濇寔鎵€鏈夋枃浠跺睘鎬э紝绛変簬-rlptgoD -r, --recursive 瀵瑰瓙鐩綍浠ラ€掑綊妯″紡澶勭悊 -R, --relative 浣跨敤鐩稿璺緞淇℃伅 -b, --backup 鍒涘緩澶囦喚锛屼篃灏辨槸瀵逛簬鐩殑宸茬粡瀛樺湪鏈夊悓鏍風殑鏂囦歡鍚嶆椂锛屽皢鑰佺殑鏂囦歡閲嶆柊鍛藉悕涓簙filename銆傚彲浠ヤ嬌鐢?-suffix閫夐」鏉ユ寚瀹氫笉鍚岀殑澶囦喚鏂囦歡鍓嶇紑銆? --backup-dir 灏嗗浠芥枃浠?濡倊filename)瀛樻斁鍦ㄥ湪鐩綍涓嬨€? -suffix=SUFFIX 瀹氫箟澶囦喚鏂囦歡鍓嶇紑 -u, --update 浠呬粎杩涜鏇存柊锛屼篃灏辨槸璺寵繃鎵€鏈夊凡缁忓瓨鍦ㄤ簬DST锛屽苟涓旀枃浠舵椂闂存櫄浜庤澶囦喚鐨勬枃浠躲€?涓嶈鐩栨洿鏂扮殑鏂囦歡) -l, --links 淇濈暀杞摼缁? -L, --copy-links 鎯沖寰呭父瑙勬枃浠朵竴鏍峰鐞嗚蔣閾劇粨 --copy-unsafe-links 浠呬粎鎷瘋礉鎸囧悜SRC璺緞鐩綍鏍戜互澶栫殑閾劇粨 --safe-links 蹇界暐鎸囧悜SRC璺緞鐩綍鏍戜互澶栫殑閾劇粨 -H, --hard-links 淇濈暀纭摼缁? -p, --perms 淇濇寔鏂囦歡鏉冮檺 -o, --owner 淇濇寔鏂囦歡灞炰富淇℃伅 -g, --group 淇濇寔鏂囦歡灞炵粍淇℃伅 -D, --devices 淇濇寔璁懼鏂囦歡淇℃伅 -t, --times 淇濇寔鏂囦歡鏃堕棿淇℃伅 -S, --sparse 瀵圭█鐤忔枃浠惰繘琛岀壒娈婂鐞嗕互鑺傜渷DST鐨勭┖闂? -n, --dry-run鐜闆疄鍝簺鏂囦歡灏嗚浼犺緭 -W, --whole-file 鎷瘋礉鏂囦歡锛屼笉杩涜澧為噺妫€娴? -x, --one-file-system 涓嶈璺ㄨ秺鏂囦歡绯葷粺杈圭晫 -B, --block-size=SIZE 妫€楠岀畻娉曚嬌鐢ㄧ殑鍧楀昂瀵革紝榛樿鏄?00瀛楄妭 -e, --rsh=COMMAND 鎸囧畾浣跨敤rsh銆乻sh鏂瑰紡杩涜鏁版嵁鍚屾 --rsync-path=PATH 鎸囧畾杩滅▼鏈嶅姟鍣ㄤ笂鐨剅sync鍛戒護鎵€鍦ㄨ礬寰勪俊鎭? -C, --cvs-exclude 浣跨敤鍜孋VS涓€鏍風殑鏂規硶鑷姩蹇界暐鏂囦歡锛岀敤鏉ユ帓闄ら偅浜涗笉甯屾湜浼犺緭鐨勬枃浠? --existing 浠呬粎鏇存柊閭d簺宸茬粡瀛樺湪浜嶥ST鐨勬枃浠訛紝鑰屼笉澶囦喚閭d簺鏂闆垱寤虹殑鏂囦歡 --delete 鍒犻櫎閭d簺DST涓璖RC娌℃湁鐨勬枃浠? --delete-excluded 鍚屾牱鍒犻櫎鎺ユ敹绔偅浜涜璇ラ€夐」鎸囧畾鎺掗櫎鐨勬枃浠? --delete-after 浼犺緭缁撴潫浠ュ悗鍐嶅垹闄? --ignore-errors 鍙婃椂鍑虹幇IO閿欒涔熻繘琛屽垹闄? --max-delete=NUM 鏈€澶氬垹闄UM涓枃浠? --partial 淇濈暀閭d簺鍥犳晠娌℃湁瀹屽叏浼犺緭鐨勬枃浠訛紝浠ユ槸鍔犲揩闅忓悗鐨勫啀娆′紶杈? --force 寮哄埗鍒犻櫎鐩綍锛屽嵆浣誇笉涓虹┖ --numeric-ids 涓嶅皢鏁闆瓧鐨勭敤鎴峰拰缁処D鍖歸厤涓虹敤鎴峰悕鍜岀粍鍚? --timeout=TIME IP瓒呮椂鏃堕棿锛屽崟浣嶄負绉? -I, --ignore-times 涓嶈煩杩囬偅浜涙湁鍚屾牱鐨勬椂闂村拰闀垮害鐨勬枃浠? --size-only 褰撳喅瀹氭槸鍚﹁澶囦喚鏂囦歡鏃訛紝浠呬粎瀵熺湅鏂囦歡澶у皬鑰屼笉鑰冭檻鏂囦歡鏃堕棿 --modify-window=NUM 鍐沖畾鏂囦歡鏄惁鏃堕棿鐩稿悓鏃朵嬌鐢ㄧ殑鏃堕棿鎴崇獥鍙o紝榛樿涓? -T --temp-dir=DIR 鍦―IR涓垱寤轟複鏃舵枃浠? --compare-dest=DIR 鍚屾牱姣旇緝DIR涓殑鏂囦歡鏉ュ喅瀹氭槸鍚﹂渶瑕佸浠? -P 绛夊悓浜?--partial --progress 鏄劇ず澶囦喚杩囩▼ -z, --compress 瀵瑰浠界殑鏂囦歡鍦ㄤ紶杈撴椂杩涜鍘嬬緝澶勭悊 --exclude=PATTERN 鎸囧畾鎺掗櫎涓嶉渶瑕佷紶杈撶殑鏂囦歡妯″紡 --include=PATTERN 鎸囧畾涓嶆帓闄よ€岄渶瑕佷紶杈撶殑鏂囦歡妯″紡 --exclude-from=FILE 鎺掗櫎FILE涓寚瀹氭ā寮忕殑鏂囦歡 --include-from=FILE 涓嶆帓闄ILE鎸囧畾妯″紡鍖歸厤鐨勬枃浠? --version 鎵撳嵃鐗堟湰淇℃伅 --address 缁戝畾鍒扮壒瀹氱殑鍦闆潃 --config=FILE 鎸囧畾鍏朵粬鐨勯厤缃枃浠訛紝涓嶄嬌鐢ㄩ粯璁ょ殑rsyncd.conf鏂囦歡 --port=PORT 鎸囧畾鍏朵粬鐨剅sync鏈嶅姟绔彛 --blocking-io 瀵矽繙绋媠hell浣跨敤闃誨IO -stats 缁欏嚭鏌愪簺鏂囦歡鐨勪紶杈撶姸鎬? --progress 鍦ㄤ紶杈撴椂鐜闆疄浼犺緭杩囩▼ --log-format=formAT 鎸囧畾鏃ュ織鏂囦歡鏍煎紡 --password-file=FILE 浠嶧ILE涓緱鍒闆瘑鐮? --bwlimit=KBPS 闄愬埗I/O甯﹀锛孠Bytes per second -h, --help 鏄劇ず甯姪淇℃伅 涓€鑸悓姝ヤ紶杈撶洰褰曢兘浣跨敤azv閫夐」.
瀹夎骞堕厤缃甶notify
-
瀹夎inotify
ps:鍦ㄥ鎴風(灏辨槸瑕佺洃娴嬫枃浠跺彉鍖栫殑閭g)瀹夎inotify銆?
[[email聽protected] rsync]# cd /usr/local/src/ [[email聽protected] src]# wget --no-check-certificate https://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz [[email聽protected] src]# tar zxvf inotify-tools-3.14.tar.gz [root[email聽protected] src]# cd inotify-tools-3.14 [[email聽protected] inotify-tools-3.14]# ./configure --prefix=/usr/local/inotify [[email聽protected] inotify-tools-3.14]# make [[email聽protected] inotify-tools-3.14]# make install
-
鍒涘緩rsync澶嶅埗鑴氭湰
姝ら」鍔熻兘涓昏鏄皢瀹㈡埛绔殑鐩綍/home/fan/閲岀殑鍐呭锛屽鏋滀慨鏀逛簡锛堟棤璁烘槸娣誨姞銆佷慨鏀廣€佸垹闄ゆ枃浠訛級鑳藉閫氳繃inotify鐩戞帶鍒幫紝骞堕€氳繃rsync瀹炴椂鐨勫悓姝ョ粰鏈嶅姟绔殑/home閲岋紝涓嬮潰鏄€氳繃shell鑴氭湰瀹炵幇鐨勩€?
[[email聽protected] rsync]# vi rsync.sh #!/bin/bash host=172.19.72.21 src=/opt/web-static/static/upload des=web user=web /usr/local/inotify/bin/inotifywait -mrqs --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e 'modify,create,attrib,moved_to' $src | while read files do /usr/bin/rsync -vzrtopg --progress --password-file=/usr/local/rsync/rsync.passwd $src $user@$host::$des echo "${files} was rsynced" >>/data/logs/rsync.log 2>&1 done
- 鍙傛暟璇存槑
inotifywait 璇硶锛?inotifywait [-hcmrq] [-e ] [-t ] [--format ] [--timefmt ] [ ... ] 鍙傛暟锛?-h,鈥揾elp 杈撳嚭甯姪淇℃伅 @ 鎺掗櫎涓嶉渶瑕佺洃瑙嗙殑鏂囦歡锛屽彲浠ユ槸鐩稿璺緞锛屼篃鍙互鏄粷瀵矽礬寰勩€?鈥揻romfile 浠庢枃浠惰鍙栭渶瑕佺洃瑙嗙殑鏂囦歡鎴栨帓闄ょ殑鏂囦歡锛屼竴涓枃浠朵竴琛岋紝鎺掗櫎鐨勬枃浠朵互@寮€澶淬€?-m, 鈥搈onitor 鎺ユ敹鍒頒竴涓簨鎯呰€屼笉閫€鍑猴紝鏃犻檺鏈熷湴鎵ц銆傞粯璁ょ殑琛屼負鏄帴鏀跺埌涓€涓簨鎯呭悗绔嬪嵆閫€鍑恒€?-d, 鈥揹aemon 璺熲€搈onitor涓€鏍鳳紝闄や簡鏄湪鍚庡彴杩愯锛岄渶瑕佹寚瀹氣€搊utfile鎶婁簨鎯呰緭鍑哄埌涓€涓枃浠躲€備篃鎰忓懗鐫€浣跨敤浜嗏€搒yslog銆?-o, 鈥搊utfile 杈撳嚭浜嬫儏鍒頒竴涓枃浠惰€屼笉鏄爣鍑嗚緭鍑恒€?-s, 鈥搒yslog 杈撳嚭閿欒淇℃伅鍒扮郴缁熸棩蹇?-r, 鈥搑ecursive 鐩戣涓€涓洰褰曚笅鐨勬墍鏈夊瓙鐩綍銆?-q, 鈥搎uiet 鎸囧畾涓€娆★紝涓嶄細杈撳嚭璇︾粏淇℃伅锛屾寚瀹氫簩娆★紝闄や簡鑷村懡閿欒锛屼笉浼氳緭鍑轟換浣曚俊鎭€?鈥揺xclude 姝e垯鍖歸厤闇€瑕佹帓闄ょ殑鏂囦歡锛屽ぇ灏忓啓鏁忔劅銆?鈥揺xcludei 姝e垯鍖歸厤闇€瑕佹帓闄ょ殑鏂囦歡锛屽拷鐣ュぇ灏忓啓銆?-t , 鈥搕imeout 璁劇疆瓒呮椂鏃堕棿锛屽鏋滀負0锛屽垯鏃犻檺鏈熷湴鎵ц涓嬪幓銆?-e , 鈥揺vent 鎸囧畾鐩戣鐨勪簨浠躲€?-c, 鈥揷sv 杈撳嚭csv鏍煎紡銆?鈥搕imefmt 鎸囧畾鏃堕棿鏍煎紡锛岀敤浜庘€揻ormat閫夐」涓殑%T鏍煎紡銆?鈥揻ormat 鎸囧畾杈撳嚭鏍煎紡銆?%w 琛ㄧず鍙戠敓浜嬩歡鐨勭洰褰?%f 琛ㄧず鍙戠敓浜嬩歡鐨勬枃浠?%e 琛ㄧず鍙戠敓鐨勪簨浠?%Xe 浜嬩歡浠モ€淴鈥濆垎闅?%T 浣跨敤鐢扁€搕imefmt瀹氫箟鐨勬椂闂存牸寮? inotifywatch 璇硶锛?inotifywatch [-hvzrqf] [-e ] [-t ] [-a ] [-d ] [ ... ] 鍙傛暟锛?-h, 鈥揾elp 杈撳嚭甯姪淇℃伅 -v, 鈥搗erbose 杈撳嚭璇︾粏淇℃伅 @ 鎺掗櫎涓嶉渶瑕佺洃瑙嗙殑鏂囦歡锛屽彲浠ユ槸鐩稿璺緞锛屼篃鍙互鏄粷瀵矽礬寰勩€?鈥揻romfile 浠庢枃浠惰鍙栭渶瑕佺洃瑙嗙殑鏂囦歡鎴栨帓闄ょ殑鏂囦歡锛屼竴涓枃浠朵竴琛岋紝鎺掗櫎鐨勬枃浠朵互@寮€澶淬€?-z, 鈥搝ero 杈撳嚭琛ㄦ牸鐨勮鍜屽垪锛屽嵆浣垮厓绱犱負绌?鈥揺xclude 姝e垯鍖歸厤闇€瑕佹帓闄ょ殑鏂囦歡锛屽ぇ灏忓啓鏁忔劅銆?鈥揺xcludei 姝e垯鍖歸厤闇€瑕佹帓闄ょ殑鏂囦歡锛屽拷鐣ュぇ灏忓啓銆?-r, 鈥搑ecursive 鐩戣涓€涓洰褰曚笅鐨勬墍鏈夊瓙鐩綍銆?-t , 鈥搕imeout 璁劇疆瓒呮椂鏃堕棿 -e , 鈥揺vent 鍙洃鍚寚瀹氱殑浜嬩歡銆?-a , 鈥揳scending 浠ユ寚瀹氫簨浠跺崌搴忔帓鍒椼€?-d , 鈥揹escending 浠ユ寚瀹氫簨浠堕檷搴忔帓鍒椼€?
- 鍙洃鍚簨浠?/li>
鍛戒護 璇存槑 access 鏂囦歡璇誨彇 modify 鏂囦歡鏇存敼 attrib 鏂囦歡灞炴€ф洿鏀癸紝濡傛潈闄愶紝鏃堕棿鎴崇瓑銆?/td> close_write 浠ュ彲鍐欐ā寮忔墦寮€鐨勬枃浠惰鍏抽棴锛屼笉浠h〃姝ゆ枃浠朵竴瀹氬凡缁忓啓鍏ユ暟鎹€?/td> close_nowrite 浠ュ彧璇繪ā寮忔墦寮€鐨勬枃浠惰鍏抽棴銆?/td> close 鏂囦歡琚叧闂紝涓嶇瀹冩槸濡備綍鎵撳紑鐨勩€?/td> open 鏂囦歡鎵撳紑銆?/td> moved_to 涓€涓枃浠舵垨鐩綍绉誨姩鍒扮洃鍚殑鐩綍锛屽嵆浣挎槸鍦ㄥ悓涓€鐩綍鍐呯Щ鍔紝姝や簨浠朵篃瑙﹀彂銆?/td> moved_from 涓€涓枃浠舵垨鐩綍绉誨嚭鐩戝惉鐨勭洰褰曪紝鍗充嬌鏄湪鍚屼竴鐩綍鍐呯Щ鍔紝姝や簨浠朵篃瑙﹀彂銆?/td> move 鍖呮嫭moved_to鍜?moved_from move_self 鏂囦歡鎴栫洰褰曡绉婚櫎锛屼箣鍚庝笉鍐嶇洃鍚鏂囦歡鎴栫洰褰曘€?/td> create 鏂囦歡鎴栫洰褰曞垱寤?/td> delete 鏂囦歡鎴栫洰褰曞垹闄?/td> delete_self 鏂囦歡鎴栫洰褰曠Щ闄わ紝涔嬪悗涓嶅啀鐩戝惉姝ゆ枃浠舵垨鐩綍 unmount 鏂囦歡绯葷粺鍙栨秷鎸傝澆锛屼箣鍚庝笉鍐嶇洃鍚鏂囦歡绯葷粺銆?/td> - 杩愯鑴氭湰
- 鎶妑sync.sh鑴氭湰鍔犲叆鍒闆紑鏈哄惎鍔ㄩ」閲?