IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

用shell写个简单的log监控程序

博客园-rethink log 2009-10-16 12:10:33 累计浏览 2,837 次
本机暂存

    检查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 < ${MYSQL_SLOW_LOG}` -ne `/usr/bin/wc -c < ${MYSQL_SLOW_LOG}.old` ];

    then

     diff ${MYSQL_SLOW_LOG}.old ${MYSQL_SLOW_LOG} | mail -s \'194 mysql slow log\' ${ADDRESS}

    fi

    rm -f ${MYSQL_SLOW_LOG}.old

    cp ${MYSQL_SLOW_LOG} ${MYSQL_SLOW_LOG}.old

    chmod 666 ${MYSQL_SLOW_LOG}.old

    将以上代码保存为:notify_error.sh,在apache和mysql的log目录下分别建立原文件的备份error_log.old和mysql-slow-query.old文件(用于文件比对)

    设定监控程序为守护进行,比如上班时间每小时执行一次:

    cd /var/spool/cron/

    之后运行crontab -e

    键入如下内容,保存

    30 8-18 * * * /home/sh/notify_error.sh

    ok。以后每当apache 有error 发生,或者mysql有slow query发生,就可以及时收到邮件提醒了。

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. 用Hyer来进行网站的抓取 (累计阅读 158,252)
  2. MySQL数据库在实际应用一些方面的介绍 (累计阅读 36,399)
  3. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,164)
  4. Bash的模式和配置文件加载 (累计阅读 24,410)
  5. Mysql监控指南 (累计阅读 21,351)
  6. 28个Unix/Linux的命令行神器 (累计阅读 16,791)
  7. 由浅入深探究mysql索引结构原理、性能分析与优化 (累计阅读 16,523)
  8. 我常用的主机监控shell脚本 (累计阅读 13,434)
  9. 在Apache2.2.XX下安装Mod-myvhost模块 (累计阅读 13,058)
  10. 15个最好的免费开源电子商务平台 (累计阅读 12,541)