监控PHP进程和错误日志检查的shell
1:在做一些异步处理的时候,难免会有程序挂掉的情况,此shell可用来监听队列处理的PHP脚本进程,如果该进程死掉将重启。
#!/bin/bash process=`ps -ef|grep '/www/project/handle.php'|grep -v grep|wc -l` if [ $process -eq 0 ];then /usr/bin/php /www/project/handle.php #此处也可以记录下日志,了解挂掉的情况 fi
2:实际开发中各层或系统之间的接口交互是不可避免的,然而对于一些核心交互记录日志是必不可少的。而交互过程一旦出现异常,就需要快速的通知相关开发人员。
#!/bin/sh now=`date +%Y%m%d%H` #当前时间截止到小时 logPath=/data/log/ #日志的目录 thisIp=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|head -n1|awk '{print $2}'|tr -d "addr:"` #如果程序发布到多台机器取出当前机器的IP #errorLogFile=`find $logPath -name $errorBegin"*.log"` #如果是查找所有的错误日志可用这个 fileName=$now"_test_error.log" #程序中抛异常时记录的日志 if [ -f "$logPath$fileName" ];then echo $thisIp" server have error log; -logpath:"$logPath$fileName|mail -s server error log [email protected] #给相关人员发mail #如果有已经实现的通知机制,在此执行该程序即可 fi