shell小工具箱

          工具箱说明

1、主从复制状态

2、mysql增删改查次数

3、mysql启动时间

4、mysql的qps 每秒查询速率、tps 每秒事务速率

5、主从同步延迟

6、磁盘剩余空间 /分区 /data分区

7、内存使用百分比

8、swap使用百分比

9、网卡输入输出流量

10、mysql的当前连接数

#! /usr/bin/bash
echo "
============================================
          工具箱说明
1、主从复制状态
2、mysql增删改查次数
3、mysql启动时间
4、mysql的qps 每秒查询速率、tps 每秒事务速率
5、主从同步延迟
6、磁盘剩余空间 /分区 /data分区
7、内存使用百分比
8、swap使用百分比
9、网卡输入输出流量
10、mysql的当前连接数
q、退出程序
=============================================
"

## mysql 数据库用户、密码   
user=XXXX               # 数据库用户
passwd=XXXXXXXX         # 数据库密码


# 1、主从复制状态
mysql_master(){
   mysql -u$user -p$passwd -e "show slave status\G" 2> /dev/null  > mysql_sele.txt
    IO=`grep "Slave_IO_Running:" mysql_sele.txt | awk '{print $NF}'`
    SQL=`grep "Slave_SQL_Running:" mysql_sele.txt | awk '{print $NF}'`
    rm -rf mysql_sele.txt
      if [ -z "$IO" ];then
        echo "Slave_IO_Running:"  主从检查异常
      else
         echo "Slave_IO_Running:"  $IO 
      fi

      if [ -z "$SQL" ];then
        echo "Slave_SQL_Running:" 主从检查异常
      else
        echo "Slave_SQL_Running:" $SQL
      fi
}

# 2、mysql增删改查次数
mysql_all(){
    select=`mysql -u$user -p$passwd -e "show global status like 'Com_select';" 2> /dev/null | tail -1 | awk '{print $2}'`
    delete=`mysql -u$user -p$passwd -e "show global status like 'Com_delete';" 2> /dev/null | tail -1 | awk '{print $2}'`
    insert=`mysql -u$user -p$passwd -e "show global status like 'Com_insert';" 2> /dev/null | tail -1 | awk '{print $2}'`
    update=`mysql -u$user -p$passwd -e "show global status like 'Com_update';" 2> /dev/null | tail -1 | awk '{print $2}'`
    echo "insert次数:"$insert
    echo "delete次数:"$delete
    echo "update次数:"$update
    echo "select次数:"$select
    echo  "增删改查次数:" $[ $select + $delete + $insert + $update ]
}

# 3、mysql启动时间
mysql_time(){
    untime=`mysql -u$user -p$passwd -e "show global status like 'uptime';" 2> /dev/null | tail -1 | awk '{print $2}'`
    echo "uptime:" $untime 秒
}

# 4、mysql的qps 每秒查询速率、tps 每秒事务速率


# 5、主从同步延迟
mysql_mastertime(){
    mysql -u$user -p$passwd -e "show slave status\G" 2> /dev/null > mysql_sele.txt
    Master_time=`grep "Seconds_Behind_Master" mysql_sele.txt | awk '{print $NF}'`
    rm -rf mysql_sele.txt
    echo "主从同步延迟时间:"$Master_time 秒
}

# 6、磁盘剩余空间 /分区 /data分区
data_a(){
    echo "/分区剩余空间:" `df -Th | awk '/\/$/{print $(NF -2)}'`
    echo "data分区剩余空间:" `df -Th | awk '/\/data$/{print $(NF -2)}'`
}

# 7、内存使用百分比
mem(){
    all_Mem=`free | tail -2 | head -1 |awk '{print $2}'`
    user_sMem=`free | tail -2 | head -1 | awk '{print $3}'`
    echo "内存使用率:" $[ $user_sMem * 100 /$all_Mem ] %
}

# 8、swap使用百分比
swap(){
    all_swap=`free | tail -1 | awk '{print $2}'`
    user_swap=`free | tail -1 | awk '{print $3}'`
    echo "swap使用率:" $[ $user_swap * 100 /$all_swap ] %
}
# 9、网卡输入输出流量
ens33(){
    while :
    do
        loadin=`cat /proc/net/dev | awk '/ens33/{print $2}'`
        userin=`cat /proc/net/dev | awk '/ens33/{print $10}'`
        sleep 1
        loadin2=`cat /proc/net/dev | awk '/ens33/{print $2}'`
        userin2=`cat /proc/net/dev | awk '/ens33/{print $10}'`
        echo "网络状态" 下载: $[ ($loadin2 - $loadin) / 1024 ]kb    上传: $[ ($userin2 - $userin) / 1024 ]kb
    done
}
# 10、mysql的当前连接数
mysql_link(){
    linka_mysql=`mysql -u$user -p$passwd -e "SHOW STATUS LIKE 'Threads_connected'" 2> /dev/null | tail -1 | awk '{print $2}'`
    echo "mysql的当前连接数:"$linka_mysql 
}


read -p "请输入序号:" numb
case $numb in
1)  mysql_master      ;;
2)  mysql_all         ;;
3)  mysql_time        ;;
4)  echo "待开发,请重新输入"
    exit              ;;
5)  mysql_mastertime  ;;
6)  data_a            ;;
7)  mem               ;;
8)  swap              ;;
9)  ens33             ;;
10) mysql_link        ;;
q)  exit              ;;
*)  echo "输入有误,请重新输入"
    exit              ;;
esac

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值