使用incron
/var/spool/incron:
/var/vmail/22222.xemple.com/aaaa/new IN_MOVED_TO,IN_ONESHOT /sys_my/postfix-mail/checker_postfix-parser.sh
---------------------停止阅读!较旧的解决方案不好----
我使用其他程序来做到这一点https://github.com/rvoicilas/inotify-tools/wiki#info
服务器:centos 6
脚本postfix-parser.sh测试是否有新字母进入文件夹:
#!/bin/bash
###
### sh /sys_my/postfix-mail/postfix-parser.sh
while ((i<=END)); do
EVENT=$(inotifywait --format '%e' /var/vmail/22222.xemple.com/aaaa/new)
if [ "$EVENT" == "CREATE" ]; then
echo $EVENT
let ii++
echo $ii
fi
done
脚本checker_postfix-parser.sh检查脚本是否运行:
#!/bin/bash
###
# sh /sys_my/postfix-mail/checker_postfix-parser.sh
result=`ps aux | grep -i "postfix-parser.sh" | grep -v "grep" | wc -l`
if [ $result -ge 1 ]
then
echo "script is running"
else
sh /sys_my/postfix-mail/postfix-parser.sh
fi
添加到启动:添加此行:
sh /sys_my/postfix-mail/checker_postfix-parser.sh
归档:
/etc/rc.d/rc.local
每 5 分钟在 cron 中运行检查器:
*/1 * * * * root sh /sys_my/postfix-mail/checker_postfix-parser.sh