当前位置:  技术问答>linux和unix

请教一个监控MYSQL和服务器负载的脚本

    来源: 互联网  发布时间:2016-12-04

    本文导语:  我憋出来的代码如下,憋得很难受 #!/bin/bash   MYSQL=/usr/local/mysql/bin/mysql MYSQL_HOST=localhost MYSQL_USER=root MYSQL_PASSWORD=123456     CPU_NUMBER=`cat /proc/cpuinfo |grep processor |wc -l`   #获取CPU个数 CPU_LOAD=`echo $CPU_NUMBER*3.5|bc`    ...

我憋出来的代码如下,憋得很难受

#!/bin/bash
 
MYSQL=/usr/local/mysql/bin/mysql
MYSQL_HOST=localhost
MYSQL_USER=root
MYSQL_PASSWORD=123456
 
 
CPU_NUMBER=`cat /proc/cpuinfo |grep processor |wc -l`   #获取CPU个数
CPU_LOAD=`echo $CPU_NUMBER*3.5|bc`                      #乘3.5当做最大负载数
#echo $CPU_LOAD
RESULT=`mysqladmin -u$MYSQL_USER -p$MYSQL_PASSWORD ping`#看看MYSQL是否还活着
if [ "$RESULT" = 'mysqld is alive' ]                    #如果活着
then
   echo "mysqld is alive">>/tmp/keep.txt
   LOAD_UPTIME=`uptime |awk '{print $8}'`               #看下当前机器的负载
   #echo $LOAD
   #echo ${LOAD:0:4}
   LOAD=`echo ${LOAD_UPTIME:0:4}|bc`                     #截取负载出来,去掉逗号
   echo $LOAD
   echo $CPU_LOAD
   V=`expr $LOAD > $CPU_LOAD`                          #得到比较值
   if [ $V=0 ]                                          #用比较值和0进行比较
   then
      echo "FREE"
   else
      echo "BUSY"
   fi
else
   echo "mysqld is not alive"
   #pkill keepalived
fi


我的问题是:
1:#得到比较值  和 #用比较值和0进行比较应该是可以放一起的。可是我直接用if [ `expr $LOAD > $CPU_LOAD` ]
得到的总是FREE,也就是IF里面永远是1,这个这么弄?

2:取CPU个数和计算负载应该是可以更简单的处理

3:整个程序应该都可以有更优的写法,现在这个功能是实现了,可是这个变量又那个变量的,写出来对不起SHELL了。

哪个大哥帮我看看。

|
基本上是cpu的核数*1吧,2核的超过2就开始慢了

|
额..其实一把情况也可以简单的pgrep mysql的,看下进程在不在

|
 V=`expr $LOAD > $CPU_LOAD` 
换成
if [ $LOAD -gt $CPU_LOAD ]

|
粗心了,没有细看.原来不是整数

|
if [ $V=0 ] 
V是字符串的话应该是$V="0"吧

    
 
 

您可能感兴趣的文章:

  • 高分请教有关“负载平衡”的站点
  • 请教: 关于cpu负载——/proc/loadavg
  • 请教linux高手 能不能在centos的系统平均负载 达到一个定值的时候自动运行某个命令
  • 请教一个问题,CRONTAB执行脚本和SSH登陆后调用脚本有什么不同?
  • 请教花括号在脚本中的用法的含义
  • 请教shell脚本启动程序
  • 高分请教关于Shell脚本执行中断问题?
  • 请教关于多个shell脚本后台运行的问题!
  • 请教:这个脚本文件为什么不随机启动
  • 请教一个脚本编写时的问题
  • 请教:如何写一个自动以当前日期建目录的脚本
  • 请教shell脚本中ls -la >ls.log <<!,中的"<<!"是什么意思?
  • 请教一个查找字符的脚本。急用!!
  • 请教两段shell脚本的不同
  • sh 脚本:请教实现非root退出
  • 请教高手,一个简单的shell脚本问题???
  • 请教斑竹,在linux下怎么执行位于其他机器上的脚本
  • 请教一个shell脚本的问题!
  • 请教一个SH脚本的写法(在线等)
  • 请教各位一个关于linux脚本的问题
  • 请教各位,shell脚本获取当前日期是本年的第几周?
  • 请教关于shell脚本的问题
  • 请教shell脚本问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教:关于如何实现文件监控的问题
  • 请教关于用啥工具监控Solaris服务器的问题
  • 请教如何在android平台下实现每个进程的流量监控?
  • 请教--父进程监控子进程,欢迎高手进来探讨!!!
  • 3分钟数据监控的设计,请教.
  • 请教急:shell怎么实现进程监控,重启进程
  • 请教用GCC编译的C如何监控键盘的按键
  • 请教有关安装了raid卡的服务器远程监控的问题
  • 这里高人多,请教一下监控工具 nmon的疑惑。多谢!!!
  • sqlserver iis7站长之家
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3