请教个关于incrontab的问题

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
qiuleo
帖子: 2
注册时间: 2013-07-24 20:01
系统: centos

请教个关于incrontab的问题

#1

帖子 qiuleo » 2013-07-24 20:14

因为想对同一台机器上(centOs系统)的两个文件夹做实时的同步,网上搜了一下,incrontab可以对文件/文件夹进行事件监控。
于是我把incrontab装上
做了一个简单的测试,例如我对 /root/a/ /root/b/ 目录进行监控,无论哪个目录有操作,都把该文件夹同步到另一个文件夹中
我在incrontab -e 里这样写

/root/a/ IN_ALL_EVENTS /root/sh/rsyncFile.sh

其中,/root/sh/rsyncFile.sh是进行文件同步的简单脚本。
脚本rsyncFile.sh的内容是这样的:
rsync -avzrtopgL --delete --progress /root/a/ /root/b/

我这只是对/root/a进行了监控,当然,我本来还想对/root/b进行监控的。

我发现了一个问题,就是我对a目录进行文件更改操作时,它都会监控到并把目录同步到b目录,但是,当我去对b目录进行操作(对文件进行增删改等)的时候,b目录都会马上被a目录覆盖。后来我才发现,原来incrontab一经触发,它就会不断执行我那个rsyncFile.sh


其实我只想触发一次,各位大侠可以帮帮小弟解决这个问题?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 请教个关于incrontab的问题

#2

帖子 eexpress » 2013-07-24 21:22

IN_ALL_EVENT 别这样,容易误判。
用写或者创建啥的。影响小。这需要自己判断。
● 鸣学
qiuleo
帖子: 2
注册时间: 2013-07-24 20:01
系统: centos

Re: 请教个关于incrontab的问题

#3

帖子 qiuleo » 2013-07-25 9:47

eexpress 写了:IN_ALL_EVENT 别这样,容易误判。
用写或者创建啥的。影响小。这需要自己判断。
分开写事件名我也试过了,我就随便拿“读操作”测试一下,然后进文件目录a 用命令ls一下,然后查看脚本日志,都发现它被不断的执行。我改成其它的脚本而不用rsync的时候,却发现它只执行一次,这个很奇怪。

难道incrontab的机制就是这样的?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 请教个关于incrontab的问题

#4

帖子 eexpress » 2013-07-25 10:39

ls一次,你的文件就都被改写了access time。另外系统还有日志修改的过程。估计是这样的,就不断触发。只是不清楚rsync为什么是这样。
而且,道理上说,你没必要rsync这么频繁。定期一周rsync就好嘛。
● 鸣学
回复