脚本介绍 本脚本主要用于监控 LNMP 环境中的 PHP/Nginx/MySQL 服务是否可用,若不可用则写入到日志,并通过 SendMail 发送邮件进行通知! 服务器组件安装 1、sendmail安装 之前在另外一篇文章有说到过,请同学们移步---> 利用shell监控服务器状态并且EMAIL获取报警 2、sharutils安装 Sendmail作为大多数Linux默认自带的邮件工具,把它利用起来配合做一些简单的系统管理工作,我觉得是非常好的。 之前我用sendmail每天定期将一些我需要的报告通过“正文”的方式直接发送到我的邮箱,但由于内容越来越多,看起来很不方便,如是想把这些报告通过附件的方式发送,而sendmail默认是不带有这个功能的,需要配合安装一个叫sharutils的软件包来实现。 apt install mailutils apt install sharutils 3、测试组件 利用uuencode使sendmail能发送带有附件的邮件 uuencode /home/wwwlogs/access.log access.log | mail -s "my lnmp log" your@mail.com 脚本完整代码 该 Shell 脚本已经在军哥的 LNMP 环境测试成功。 宝塔、WDCP 等搭建的可能不支持,有需要请自行修改。 脚本中的收件人邮箱、监测站点的 url,请修改为你自己的 #!/bin/bash ###获取当前时间 time="$(date +"%Y%m%d-%H:%M")" ###查看fpm服务是否运行 i=`netstat -an | grep php-cgi | wc -l` if [ $i = 0 ] then ###重启php服务 /etc/init.d/php-fpm restart ### 写入日志 echo "$time php-fpm service is down .... restart..." >> /var/log/php-fpm.log