前面的操作已经基本适应日常使用,这次来看看能不能把inotify的配置独立出来
初步设想是把对应模块名称和路径建立一个单独文件module_path.conf;IP存放在另一个文件ip.conf
ip.conf内容如下
192.168.1.166
192.168.1.165
192.168.1.164
module_path.conf脚本如下
/home/test1/rsync web1
/home/test2/rsync web2
inotify脚本如下:
#!/bin/bash
host=192.168.1.170
ip_path="/home/ip.conf"
module_path_path="/home/module_path.conf"
passwd=/home/test/rsync.passwd
log=/home/test/rsyncd.log
user=root
fun_inotify(){
/home/test/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w %f %e' -e modify,delete,attrib $1 |while read files
do
while read line
do
line=$line|sed 's/ //g'
/usr/bin/rsync -vzrtopg --delete --ignore-errors --password-file=$passwd $1 $user@$line::$2
echo "${files} was rsynced">>$log 2>&1
done < $ip_path
done
}
while read src des
do
fun_inotify $src $des &
done < $module_path_path
以上修改只是在客户端,源服务器修改,目标服务器,服务端不变
网友评论