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、也可以通过以上方法综合利用
相关文章
- 用生动的案例一步步带你学会python多线程模块
- RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
- 大叔案例分享(3)用户行为分析--见证scala的强大
- 企业大数据运用实战案例分享
- Flink(43):Flink之TableAPI和FlinkSQL中的案例准备
- javascript案例34——双击禁止选中文字
- Android案例手册 - Application跳出dialog
- 解放双手,高效办公!这42个python自动化案例你不得不看
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
- DL之U-Net:U-Net算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- 机器学习案例(二):服务员小费预测
- FLEXPART安装配置笔记(成功案例)——筑梦之路
- Java 多线程实战案例之消费者,生产者
- 数据分析案例-二手车价格预测
- VB.net:VB.net编程语言学习之操作符(变量/常量/数据类型/声明)&逻辑控制语句(条件判断/循环语句)的简介、案例应用之详细攻略
- 案例分享 | 企业数字化转型中如何进行有效数据治理
- Linux-文本处理三剑客awk详解+企业真实案例(变量、正则、条件判断、循环、数组、分析日志)