使用 incron 观看文件夹似乎会杀死我的服务器

Watching folder with incron seems to kill my server

我想 运行 每当文件夹中的内容发生变化(文件被编辑、覆盖、添加或删除)时,在文件夹上 php 脚本。

php 脚本获取文件夹中每个文件的哈希码,并将所有行写入 hash.txt 文件(为每个文件附加一行 hashcode:filename,例如 2dbb8badb0925833c8ea03ffc941e3a0:file1_blabla.utf8).

将我的用户添加到 /etc/incron.allow 后,我在服务器中编辑了我的 icrontab -e,并添加了以下行:

/var/www/mydir/tests/ IN_ALL_EVENTS php -f /var/www/mydir/tests/mk_hash_list.php

结果:某种致命循环使我的服务器崩溃,日志不断增长,显示如下行:

Jun 24 19:24:30 myserver incrond[22010]: (manuel) CMD (php -f /var/www/mydir/tests/hash_list.php)
Jun 24 19:24:30 myserver incrond[22010]: cannot fork process: Resource temporarily unavailable

有什么建议吗? icrontab 适合我要做的事情吗?谢谢。

脚本追加数据的文件被写入监视文件夹,造成无限循环。解决方案是创建一个仅包含脚本应该分析的文件的子文件夹,并将脚本和写入的文件以及结果保存在该监视的子文件夹之外。