zoukankan      html  css  js  c++  java
  • Shell编程—企业生产案例

    Linux系统Shell编程—企业生产案例(一)

     

                           

    企业数据库可以说是重点保护对象啊,没有之一,数据在当今企业里就是生命线,因此今天就来说一说,如何通过shell脚本来检查或监控MYSQL数据库服务是否正常??

    01   通过端口判断

    [root@mysql ~]# vi checkmysql.sh

    #!/bin/sh

    #create by mingongge at 2016-11-11

    port=`netstat -lnt|grep 3306|wc -l`

    if [ $port -ne 1 ];then

       echo "mysql is stop"

       /etc/init.d/mysqld start

    else

       echo "mysql is starting"

    fi

    [root@mysql ~]# sh checkmysql.sh

    mysql is starting

    [root@mysql ~]# pkill mysqld

    [root@mysql ~]# lsof -i :3306

    [root@mysql ~]# sh checkmysql.sh

    mysql is stop

    Starting MySQL.                                 [  OK  ]

    [root@mysql ~]# lsof -i :3306  

    COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

    mysqld  1601 mysql   10u  IPv4  13690      0t0  TCP *:mysql (LISTEN)

    02  通过进程与端口判断

    [root@mysql ~]# ps -ef|grep mysql|grep -v grep|wc -l

    2

    [root@mysql ~]# vi checkmysql.sh

    #!/bin/sh

    #create by mingongge at 2016-11-11

    if [[ $port -eq 1 || $porcess -eq 2 ]];then

         echo "mysql is starting"

    else

         echo "mysql is stop"

         /etc/init.d/mysqld start

    注:利用进程判断时,脚本的名称就不要包含有Mysql的字样了,否则就会产生判断不准确的情况出现

    03  登陆数据库根据返回值判断

    [root@mysql ~]# vi accessmysql.sh

    #/bin/sh

    mysql -uroot -pmysql123 -e "show databases;" >/dev/null 2>&1

    注:此处千万不要用直接登陆的写法mysql -uroot -pmysql123,否则会直接登陆了,不然执行下面的过程了

    if [ $? -eq 0 ];then

         echo "mysql is starting"

    else

         echo "mysql is stop"

         /etc/init.d/mysqld start

    fi

    [root@mysql ~]# sh accessmysql.sh

    mysql is starting

    [root@mysql ~]# pkill mysqld

    [root@mysql ~]# sh accessmysql.sh

    mysql is stop

    Starting MySQL.                    [  OK  ]

    [root@mysql ~]# sh accessmysql.sh

    mysql is starting

    监控MYSQL数据库是否异常的多种方法:

    1、根据端口监控本地数据库

    2、根据进程进行监控本地数据库

    3、通过客户端命令及账号连接MYSQL,然后根据返回内容进行判断是否正常

    4、通过PHP、JAVA程序URL方式进行监控(此种方式最佳,生产环境常用)

    5、也可以通过以上方法综合利用

  • 相关阅读:
    结合JDK源码看设计模式——简单工厂、工厂方法、抽象工厂
    [转]Eclipse插件开发之基础篇(5) 制作OSGi Bundle
    [转]Eclipse插件开发之基础篇(4) OSGi框架
    [转]Eclipse插件开发之基础篇(3) 插件的测试与调试
    [转]Eclipse插件开发之基础篇(2) 第一个Eclipse插件
    [转]Eclipse插件开发之基础篇(1) 插件开发的基础知识
    深入理解JVM虚拟机(二):JDK 内存类的异常分析
    [收藏]Dubbo官方资料
    [转]JVM系列五:JVM监测&工具[整理中]
    [转]JVM系列四:生产环境参数实例及分析【生产环境实例增加中】
  • 原文地址:https://www.cnblogs.com/guarderming/p/9466355.html
Copyright © 2011-2022 走看看