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、也可以通过以上方法综合利用
Shell编程—企业生产案例的更多相关文章
- Linux学习——shell编程之正则表达式和字符处理命令
shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...
- 企业Shell面试题5:解决DOS攻击生产案例
企业Shell面试题5:解决DOS攻击生产案例 写一个Shell脚本解决DOS攻击生产案例. 请根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100(读者根据实际情况设定 ...
- shell解决DOS攻击生产案例
解决DOS攻击生产案例企业实战题5:请用至少两种方法实现!写一个脚本解决DOS攻击生产案例.提示:根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封 ...
- Linux企业生产环境用户权限集中管理项目方案案例
企业生产环境用户权限集中管理项目方案案例: 1 问题现状 当前我们公司里服务器上百台,各个服务器上的管理人员很多(开发+运维+架构+DBA+产品+市场),在大家登录使用Linux服务器时,不同职能的员 ...
- shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计
shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计 shell中的数组的用法: shell数组中的下标是从0开始的 array=("Allen" & ...
- Shell 编程综合案例
Shell编程综合案例 Shell也学习了大概的知识,现在这篇文章就大概讲述下如何使用shell编写一个脚本呢?下面就展示一个大家常用的数据库备份案例来进行展示. 需求分析 1)每天凌晨2:10分备份 ...
- 合格linux运维人员必会的30道shell编程面试题及讲解
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1632876 超深度 ...
- (转)合格linux运维人员必会的30道shell编程面试题及讲解
超深度讲解shell高级编程实战,截至目前shell编程课程国内培训机构最细的课程,不信请看学员表现的水平. 课程牛不牛,不是看老师.课表,而是看培养的的学生水平,目前全免费中伙伴们赶紧看啊. htt ...
- shell编程下
第1章 Whicle 1.1 while循环语句 在编程语言中,while循环(英语:while loop)是一种控制流程的陈述.利用一个返回结果为布林值(Boolean)的表达式作为循环条件,当这个 ...
随机推荐
- LVS简单理解
LVS LVS(Linux Virtual Server)即Linux虚拟服务器 目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案 终端用户 ...
- python day 11: 类的补充,元类,魔法方法,异常处理
目录 python day 11 1. 类的补充 1.1 通过反射来查找类,创建对象,设置对象的属性与方法 1.2 类的魔法方法:getitem,setitem 1.3 元类__metaclass__ ...
- MFC_选择目录对话框_选择文件对话框_指定目录遍历文件
选择目录对话框 void C资源共享吧视频广告清理工具Dlg::OnBnClickedCls() { // 清空编辑框内容 m_Edit.SetWindowTextW(L""); ...
- 大数据的前世今生【Hadoop、Spark】
一.大数据简介 大数据是一个很热门的话题,但它是什么时候开始兴起的呢? 大数据[big data]这个词最早在UNIX用户协会的会议上被使用,来自SGI公司的科学家在其文章“大数据与下一代基础架构 ...
- js 数组 去重 算法(转载)
以下内容可能有重复部分,项目有用上,但还没来得急整理和验证. 一:https://www.cnblogs.com/jiayuexuan/p/7527055.html 1.遍历数组法 它是最简单的数组去 ...
- 根据域名获取ip地址
1如何查询网站域名对应的ip地址在电脑左下角搜索cmd ,在命令提示符中输入 ping www.pm25.in在电脑左下角搜索运行,输入cmd ,在命令提示符中输入 ping www.pm25.in得 ...
- MySQL Replication--开启GTID模式下匿名事务异常
错误环境: OS: CentOS release 6.5 (Final) MySQL: MySQL 5.7.19 主从参数配置: master_info_repository = TABLE rela ...
- h5中history实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ffmpeg常用命令-学习
文章标题:FFmpeg常用命令合集 文章地址:https://blog.csdn.net/lemon_tree12138/article/details/99719520
- Kotlin扩展深入解析及注意事项和可见性
可见性[Visibility]: 在Java中的可见性有public.protected.private.default四种,而在Kotlin中也有四种:public.protected.privat ...