检查apache的error log和mysql slow query log,可以及时的发现问题。但在开发和运营的过程中,如果没有意识到有错误发生,我们往往不会主动的查看log的习惯,而且每天查看log也不现实。
但是不明显的错误不表示没有错误,潜在的问题往往是最严重的问题。因此写个log监控程序很有必要。
#!/bin/sh
ADDRESS='email1@domain.com email2@domain.com'
APACHE_ERROR_LOG='/usr/local/apache/logs/error_log'
if [ `/usr/bin/wc -c < ${APACHE_ERROR_LOG}` -ne `/usr/bin/wc -c < ${APACHE_ERROR_LOG}.old` ];
then
diff ${APACHE_ERROR_LOG}.old ${APACHE_ERROR_LOG} | mail -s '194 apache error log' ${ADDRESS}
fi
rm -f ${APACHE_ERROR_LOG}.old
cp ${APACHE_ERROR_LOG} ${APACHE_ERROR_LOG}.old
chmod 666 ${APACHE_ERROR_LOG}.old
MYSQL_SLOW_LOG='/log/mysql-slow-query'
if [ `/usr/bin/wc -c < ${MYSQ