写了一个简单的shell脚本监控mysql服务器运行状态
来源:互联网 发布:二级c语言加油站 编辑:程序博客网 时间:2024/05/17 02:34
原来看到有人在博客上写监控服务器的脚本,出现问题就发邮件,手机短信报警的文章,感觉很神奇。过了一段时间学习的知识慢慢多了,现在回想起来其实也很简单。基本思路就是用shell写命令去检测服务器(这里说的服务器可以有很多种,比如mysql,apache,nginx等),然后判断返回的状态,失败的话就发邮件报警。最后把这个脚本加入到cron程序中让它定期运行,这样就可以检测mysql的健康状态了。下面是我写的一个简单的脚本:
# test.sh
#!/bin/bash #指定要调用的shell解释器
/usr/bin/mysqladmin -uroot ping &>/dev/null
#这句是用mysqladmin命令,ping参数是检测mysql服务器的健康状态,如果mysql进程挂掉则会报错,&>/dev/null是把错误重定向,让错误信息不要在屏幕上输出来
if [ -z $? ] #关键在$?这个变量 ,它是代表上一条命令执行后的退出状态,如果是0的话表示成功,其他 # 非0参数表示失败,另外这是在shell中的if语法,-z参数判断条件是否为0,
then
# do nothing ,$?为0的话表示执行成功,mysql进程健康
else
mail -s "mysql server cracked down" jackywdx@163.com
fi
这就是一个最简单的检测脚本,别忘了要运行chmod +x test.sh让它有执行的属性。判断mysql进程是否健康其实还用很多方法,比如用ps aux | grep mysql | grep -v mysql判断,也可以直接执行mysql连接mysql看看,或者还有mysqltest命令好像也可以用,不过没用过。在发送邮件的时候要注意本机要启动了一个mail服务器才行,如sendmail或者qmail都可以,如果没有安装可以这里有关sendmail架设的文章,邮件服务器之Sendmail应用专题--IT168服务器频道
下面是把这个脚本放入cron,让它定期去执行,命令如下:
crontab -e 敲回车,进入一个文本编辑页面,放入下面一条
*/5 * * * * /root/test.sh &>/dev/null
再退出保存即可(不会退出的话按住shift键,再按再次Z即可 ^_^)
上面的命令是让cron每隔5分钟运行一次test.sh脚本。具体的参数自己上网查查啦。
这只是一个很简单的监控脚本,更具体一点就是如果发现进程挂掉,则要去日志文件查找错误信息,这些就比较麻烦了一点,要用到sed或者awk的来提取出错的信息,以后有机会再试试写。
# test.sh
#!/bin/bash #指定要调用的shell解释器
/usr/bin/mysqladmin -uroot ping &>/dev/null
#这句是用mysqladmin命令,ping参数是检测mysql服务器的健康状态,如果mysql进程挂掉则会报错,&>/dev/null是把错误重定向,让错误信息不要在屏幕上输出来
if [ -z $? ] #关键在$?这个变量 ,它是代表上一条命令执行后的退出状态,如果是0的话表示成功,其他 # 非0参数表示失败,另外这是在shell中的if语法,-z参数判断条件是否为0,
then
# do nothing ,$?为0的话表示执行成功,mysql进程健康
else
mail -s "mysql server cracked down" jackywdx@163.com
fi
这就是一个最简单的检测脚本,别忘了要运行chmod +x test.sh让它有执行的属性。判断mysql进程是否健康其实还用很多方法,比如用ps aux | grep mysql | grep -v mysql判断,也可以直接执行mysql连接mysql看看,或者还有mysqltest命令好像也可以用,不过没用过。在发送邮件的时候要注意本机要启动了一个mail服务器才行,如sendmail或者qmail都可以,如果没有安装可以这里有关sendmail架设的文章,邮件服务器之Sendmail应用专题--IT168服务器频道
下面是把这个脚本放入cron,让它定期去执行,命令如下:
crontab -e 敲回车,进入一个文本编辑页面,放入下面一条
*/5 * * * * /root/test.sh &>/dev/null
再退出保存即可(不会退出的话按住shift键,再按再次Z即可 ^_^)
上面的命令是让cron每隔5分钟运行一次test.sh脚本。具体的参数自己上网查查啦。
这只是一个很简单的监控脚本,更具体一点就是如果发现进程挂掉,则要去日志文件查找错误信息,这些就比较麻烦了一点,要用到sed或者awk的来提取出错的信息,以后有机会再试试写。
- 写了一个简单的shell脚本监控mysql服务器运行状态
- 用shell写一个简单的脚本
- shell 脚本监控MySQL数据库启动状态
- 今天写了一个简单的Shell
- Shell监控服务器状态
- 如何写一个shell脚本并运行
- 监控MYSQL主从同步配置中监控从库运行状态的脚本
- 写了一个解、压缩文件的shell脚本
- 用shell写了一个自动编译代码的脚本
- 用shell写了一个自动编译代码的脚本
- 用shell脚本写的一个简单的计算器
- shell服务器监控脚本
- 在Ubuntu的shell终端写一个简单脚本
- 自己动手写一个简单的Shell之二:运行程序
- Linux常用的服务器监控shell脚本
- shell脚本对服务器的监控
- shell监控MySQL主从状态脚本两则
- shell脚本监控mysql主从同步状态并自动修复
- 开课第二天 java的发展概况:
- UNION 和UNION ALL 的区别
- 控制结构及数组
- 关于分组序号在MySQL中的实现
- Java技术开发WAP应用程序
- 写了一个简单的shell脚本监控mysql服务器运行状态
- 面向对象编程(OOP)三大特点
- Linux系统环境下的Socket编程详细解析 转自:http://linux.chinaitlab.com/Perl/719489.html
- 静态块和非静态块区别
- 迭代器失效小结
- oracle utl_file目录错误解决方法
- 内部类 及垃圾回收
- 小日本的车是多么的脆弱!
- WML开发详细指南