rsyncを+ inotifyのスクリプト

#!/ binに/ shを

chkconfigを:2345年10 90

説明:inotifyをに基づいてこのrsyncのスクリプト。

日付:2019年4月8日

バージョン:1.0

パスSRC1 = /テスト#監視
その必要性にDES1 =アップローダ/#rsyncのモジュール名は、サーバー上で同期する
rsync_passwd_file =の/ etc / server.pass番号・パスワードインターチェンジファイル
IP = 192.168.8.178#IP同期させる必要
ユーザーを= Yihongの#ユーザ側に同期させる必要
はinotify =は/ usr / binが/ inotifywait
CDのSRCL} $ {
inotifyを-mrq '%Y-%M-%D%H:%M' --timefmt $ --format「%% W T F%以下E% '、修正作成--event、移動、削除、Attribに./ |ファイルしばらく読んで
ください
INO_EVENT = $($ファイルをエコー| awkの印刷$ {} 4。 ')
INO_FILE = $($ファイルをエコー| awkの'{印刷。3} $「)
エコー「------------------------- $(DATE)--------------- -----------------------「>> /var/log/rsync.log 2>。1&
エコー>> $ファイルは/ var / log / rsync.log 2>&1
[[$ INO_EVENT =「IF CREATE ']] || [[$ INO_EVENT =' MODIFY ']] || [[$ INO_EVENT =' CLOSE_WRITE "]] || [[$ INO_EVENT = 'MOVED_TO']];その後、
エコー'作成または変更またはCLOSE_WRITEまたはMOVED_TO' >> /var/log/rsync.log 2>&1
rsyncの-avzcR $(dirnameには、$ {INO_FILE})$ {ユーザー} @ $ {IP} :: $ {} DES1 - -passwordファイル= $ {rsync_passwd_file} >>は/ var / log / rsync.log 2>&1
Fiの
場合[[$ INO_EVENT = 'DELETE'] || [[$ INO_EVENT = 'MOVED_FROM']];次に、
エコー' >>「MOVED_FROMまたはDELETEのは/ var / log / rsync.log 2>&1
rsyncの-avzR --delete $(dirnameには、$ {INO_FILE})$ {ユーザー} @ $ {IP} :: $ {} DES1 --password-ファイル= $ {rsync_passwd_file} >>は/ var / log / rsync.log 2>&1
Fiの
場合[[$ INO_EVENT = 'ATTRIB']];次に、
エコー'ATTRIB' >>は/ var / log / rsync.log 2>&1
[もし!-d "$ INO_FILE"];その後
のrsync -avzcR $(DIRNAMEの$ {INO_FILE})$ {ユーザ} @ $ {IP} ::


おすすめ

転載: blog.51cto.com/13746824/2438847