rsync+inotify 脚本
#!/bin/sh
chkconfig: 2345 10 90description: This Rsync script based on inotify.date: 2019-04-08version: 1.0src1=/test #监控的路径des1=uploaders/ #需要同步到那台服务器上的rsync模块名称rsync_passwd_file=/etc/server.pass #密码交互文件ip=192.168.8.178 #需要同步的IPuser=yihong #需要同步方的用户inotify=/usr/bin/inotifywaitcd ${src1}$inotify -mrq --timefmt ‘%y-%m-%d %H:%M‘ --format ‘%T %w%f %e‘ --event modify,create,move,delete,attrib ./ |while read filedoINO_EVENT=$(echo $file | awk ‘{print $4}‘)INO_FILE=$(echo $file | awk ‘{print $3}‘)echo "-------------------------$(date)---------------------------" >> /var/log/rsync.log 2>&1echo $file >>/var/log/rsync.log 2>&1if [[ $INO_EVENT=‘CREATE‘ ]]||[[ $INO_EVENT=‘MODIFY‘ ]]||[[ $INO_EVENT=‘CLOSE_WRITE‘ ]]||[[ $INO_EVENT=‘MOVED_TO‘ ]];thenecho ‘CREATE or MODIFY or CLOSE_WRITE or MOVED_TO‘ >> /var/log/rsync.log 2>&1rsync -avzcR $(dirname ${INO_FILE}) ${user}@${ip}::${des1} --password-file=${rsync_passwd_file} >>/var/log/rsync.log 2>&1fiif [[ $INO_EVENT=‘DELETE‘ ]]||[[ $INO_EVENT=‘MOVED_FROM‘ ]];thenecho ‘DELETE or MOVED_FROM‘ >>/var/log/rsync.log 2>&1rsync -avzR --delete $(dirname ${INO_FILE}) ${user}@${ip}::${des1} --password-file=${rsync_passwd_file}>>/var/log/rsync.log 2>&1fiif [[ $INO_EVENT=‘ATTRIB‘ ]];thenecho ‘ATTRIB‘ >>/var/log/rsync.log 2>&1if [ ! -d "$INO_FILE" ];thenrsync -avzcR $(dirname ${INO_FILE}) ${user}@${ip}::${des1} --password-file=${rsync_passwd_file}>>/var/log/rsync.log 2>&1fifidone& (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |