inotify rsync 问题请教
aaa目录如果有文件变化则同步增加到ccc目录bbb目录如果有文件变化则同步增加到ccc目录
ccc目录整个同步到另一台服务器上
单独运行rsync的三条命令是正常的
将脚本在后台运行后只有aaa目录同步增加到ccc目录是正常的其余两个不正常怀疑是while done语句不对请大神指点
#!/bin/bash
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e close_write,delete,create,attrib /data/aaa | while read files
do
/usr/bin/rsync -vzrtopgu /data/aaa /data/ccc >/dev/null 2>&1
echo "${files} was rsynced" >> /var/log/rsync.log 2>&1
done
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e close_write,delete,create,attrib /data/bbb | while read files
do
/usr/bin/rsync -vzrtopgu /data/bbb/ /data/ccc/ >/dev/null 2>&1
echo "${files} was rsynced" >> /var/log/rsync.log 2>&1
done
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e close_write,delete,create,attrib /data/ccc | while read files
do
/usr/bin/rsync -vzrt --delete --port=5873 --password-file=/etc/rsync.pas /data/ccc rsyncuser@11.11.11.11::image
echo "${files} was rsynced" >> /var/log/rsync.log 2>&1
done
回复 1# ding_cw
shell脚本中是一行一行执行命令的,
inotifywait 的-m 参数是一直监视不退出, 就是说,这里等于是个死循环, 脚本后面的代码根本没机会运行。 回复 2# 关阴月飞
那我应该怎样才能实现同时监视3个文件夹的状态呢 分别写3个脚本还是使用别的参数? 回复 3# ding_cw
可以将前面的两个循环放到后台执行,不过最好是分开三个脚本,互不干涉。
页:
[1]