码迷,mamicode.com
首页 > 其他好文 > 详细

rsync+inotify 脚本

时间:2019-09-18 14:28:17      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:kconfig   chkconfig   creat   The   ade   notify   form   password   delete   

#!/bin/sh

chkconfig: 2345 10 90

description: This Rsync script based on inotify.

date: 2019-04-08

version: 1.0

src1=/test #监控的路径
des1=uploaders/ #需要同步到那台服务器上的rsync模块名称
rsync_passwd_file=/etc/server.pass #密码交互文件
ip=192.168.8.178 #需要同步的IP
user=yihong #需要同步方的用户
inotify=/usr/bin/inotifywait
cd ${src1}
$inotify -mrq --timefmt ‘%y-%m-%d %H:%M‘ --format ‘%T %w%f %e‘ --event modify,create,move,delete,attrib ./ |while read file
do
INO_EVENT=$(echo $file | awk ‘{print $4}‘)
INO_FILE=$(echo $file | awk ‘{print $3}‘)
echo "-------------------------$(date)---------------------------" >> /var/log/rsync.log 2>&1
echo $file >>/var/log/rsync.log 2>&1
if [[ $INO_EVENT=‘CREATE‘ ]]||[[ $INO_EVENT=‘MODIFY‘ ]]||[[ $INO_EVENT=‘CLOSE_WRITE‘ ]]||[[ $INO_EVENT=‘MOVED_TO‘ ]];then
echo ‘CREATE or MODIFY or CLOSE_WRITE or MOVED_TO‘ >> /var/log/rsync.log 2>&1
rsync -avzcR $(dirname ${INO_FILE}) ${user}@${ip}::${des1} --password-file=${rsync_passwd_file} >>/var/log/rsync.log 2>&1
fi
if [[ $INO_EVENT=‘DELETE‘ ]]||[[ $INO_EVENT=‘MOVED_FROM‘ ]];then
echo ‘DELETE or MOVED_FROM‘ >>/var/log/rsync.log 2>&1
rsync -avzR --delete $(dirname ${INO_FILE}) ${user}@${ip}::${des1} --password-file=${rsync_passwd_file}>>/var/log/rsync.log 2>&1
fi
if [[ $INO_EVENT=‘ATTRIB‘ ]];then
echo ‘ATTRIB‘ >>/var/log/rsync.log 2>&1
if [ ! -d "$INO_FILE" ];then
rsync -avzcR $(dirname ${INO_FILE}) ${user}@${ip}::${des1} --password-file=${rsync_passwd_file}>>/var/log/rsync.log 2>&1
fi
fi
done&

rsync+inotify 脚本

标签:kconfig   chkconfig   creat   The   ade   notify   form   password   delete   

原文地址:https://blog.51cto.com/13746824/2438847

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!