我有这个 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 {} +