incrontab 不会在 cron sh 调用结束时触发

incrontab 不会在 cron sh 调用结束时触发

我有这个 incrontab,它正在监视master目录以检查是否发生放置新文件的事件...并运行 php 文件。

/var/www/html/docs/int/master IN_MOVE php /var/www/html/shscript/work.php

我有一个每隔一分钟运行一次的 crontab,并调用一个文件的执行.sh,这个 SH 的内容是将 txt 文件复制到前一个 incrontab 中的 Master 目录中(运行良好):

cd /mnt/test1/int/master
cp *.txt /var/www/html/docs/int/master

问题:

当 cron 运行结束(复制成功)时,但 icron 未触发,没有检测事件如:IN_MOVE, IN_MOVED_TO;但如果我将事件更改为:IN_MODIFY;工作正常并执行 php 文件;但我不需要在修改事件上运行 php 文件,如果文件复制成功,我需要运行它。 我不知道我做错了什么。

答案1

要执行的结果脚本:

/var/www/html/docs/int/master IN_CLOSE_WRITE php /var/www/html/shscript/work.php

脚本文件从主存储库复制到工作目录,然后将其移动到已处理

#!/bin/sh
cd /mnt/test1/int/master
find . -maxdepth 1 -type f -exec bash -c '
for item do
    cp $item /var/www/html/docs/int/master && mv -f $item /mnt/test1/int/master/procesado
done
' bash {} +

相关内容