当前位置: 首页 > news >正文

检查邮件服务器的postfix-pop3-mysql服务状态的脚本

实时监控邮件服务器的状态需要脚本任务做支撑

#!/bin/bash

#Purpose: Check Postfix and Pop3 MySQL service status
#Author: andylhz
#Date: 2010-07-29


dt=`date '+%Y:%m:%d:%H:%M'`
mailer=root@test.cn
mailer2=138XXXXXXXX@139.com
host=mail.test.cn

#Dovecot服务的检查 存在则发邮件显示正常,否则就重启服务


dovecot=`ps aux |grep pop3-login | grep -v "grep" |awk {'print $11'} | uniq`

if [ "$dovecot" == "pop3-login" ]; then
       echo "$dt <$host> pop3 service is ok!" >/tmp/pop_ok;
       mail -s "pop3-OK(IP-154)"  $mailer < /tmp/pop_ok;
   else
       echo "$dt  <$host> pop3 service is down! will start!" >/tmp/pop_down;
       mail -s  "pop3-down(IP-)" -c $mailer2  $mailer < /tmp/pop_down;
       service  dovecot start;
fi

#postfix服务的检查 存在则发邮件显示正常,否则就重启服务


postfix=`ps aux |grep postfix | grep -v "grep" |grep -v "root"| awk {'print $1'} | uniq`

if [ "$postfix" == "postfix" ]; then

        echo "$dt <$host> postfix service is ok!" >/tmp/postfix_ok;
        mail  -s "postfix-OK(IP)"  $mailer < /tmp/postfix_ok;

   else
       echo "$dt <$host> postfix service is down! will start!">/tmp/postfix_down;
       mail -s "postfix-down(IP)" -c $mailer2 $mailer < /tmp/postfix_down;
       service  postfix start;

fi

#Mysql 的状态检查,看是否存在mysql?存在则发邮件报告正常,否则就重启服务


mysql=`ps aux |grep mysql |grep -v "grep" |awk {'print $1'} |grep mysql`

if [ "$mysql" == "mysql" ]; then

        echo "$dt <$host> mysql is ok! " >/tmp/mysql_ok;  
        mail -s "mysql-OK(IP)" $mailer < /tmp/mysql_ok;
     
  else
    
       echo "$dt <$host> mysql is down! will start!" > /tmp/mysql_down;
       mail -s "mysql-down(IP)" -c $mailer2 $mailer < /tmp/mysql_down;
        service  mysqld start;

fi
 

将上述保存成可执行的文件,添加cron计划任务中,每10分钟运行一次



     本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/494420,如需转载请自行联系原作者



相关文章:

  • 华为交换机忘记console的密码,怎么恢复出厂设置
  • 1星《微信软文营销实战技巧》:标题党,作者没有实战经验
  • Windows 2008 R2 Sp1平台整合部署Ex2010与Lync Server 2010参考(三)v1.0
  • O(1)时间内删除指定链表结点
  • 关于项目自动化测试架构的改良计划 - DataProviderEngine架构
  • 读《程序员的SQL金典》[3]--表连接、子查询
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 建造者模式(Java与Kotlin版)
  • oracle无密码登录
  • UNIX/Linux系统取证之信息采集案例
  • 配置Operations Manager与Active Directory集成
  • 安全共享我有招:WindoXP提高共享资源安全
  • [IE技巧] 如何让IE 启动的时候不加载任何插件
  • Linux命令(3):date命令
  • P2Psim分析笔记(6)- 仿真中的事件机制
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Angular 4.x 动态创建组件
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Java程序员幽默爆笑锦集
  • java概述
  • Linux链接文件
  • oldjun 检测网站的经验
  • 记一次用 NodeJs 实现模拟登录的思路
  • 解决iview多表头动态更改列元素发生的错误
  • 如何合理的规划jvm性能调优
  • 一、python与pycharm的安装
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 【云吞铺子】性能抖动剖析(二)
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)【Hibernate总结系列】使用举例
  • (转)IOS中获取各种文件的目录路径的方法
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .“空心村”成因分析及解决对策122344
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net 简单实现MD5
  • .net6+aspose.words导出word并转pdf
  • .NET开源项目介绍及资源推荐:数据持久层
  • .Net语言中的StringBuilder:入门到精通
  • /proc/vmstat 详解
  • :=
  • @Mapper作用
  • @property括号内属性讲解
  • [2018-01-08] Python强化周的第一天
  • [20180129]bash显示path环境变量.txt
  • [4.9福建四校联考]