因为想对同一台机器上(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
其实我只想触发一次,各位大侠可以帮帮小弟解决这个问题?
请教个关于incrontab的问题
-
- 帖子: 2
- 注册时间: 2013-07-24 20:01
- 系统: centos
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 2
- 注册时间: 2013-07-24 20:01
- 系统: centos
Re: 请教个关于incrontab的问题
分开写事件名我也试过了,我就随便拿“读操作”测试一下,然后进文件目录a 用命令ls一下,然后查看脚本日志,都发现它被不断的执行。我改成其它的脚本而不用rsync的时候,却发现它只执行一次,这个很奇怪。eexpress 写了:IN_ALL_EVENT 别这样,容易误判。
用写或者创建啥的。影响小。这需要自己判断。
难道incrontab的机制就是这样的?
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
Re: 请教个关于incrontab的问题
ls一次,你的文件就都被改写了access time。另外系统还有日志修改的过程。估计是这样的,就不断触发。只是不清楚rsync为什么是这样。
而且,道理上说,你没必要rsync这么频繁。定期一周rsync就好嘛。
而且,道理上说,你没必要rsync这么频繁。定期一周rsync就好嘛。
● 鸣学