生产环境shell使用经典案例

#!/bin/bash
#针对不同系统,命令不同路径的解决方法
date_com=`/usr/bin/which date`
#ifconfig_com=`/usr/bin/which ifconfig`

#获取主机名
system_hostname=$(hostname | awk '{print $1}')
#过滤lo网卡,但由于某些机器有docker服务,装有docker0的网卡,所以必须过滤docker0网卡的指定IP才行(如其他环境也有也需grep -v单独过滤才可用此脚本)并过滤出IP,再筛选第一个IP,这个是规律!
system_ip=`/usr/sbin/ifconfig |grep -v 172.17.0.1 |awk '/inet / && !($2 ~ /^127/){print $2}'|grep -oE '[0-9]+\..*$'|head -n1`

#磁盘告警token
token1=d8a131fe72e18a58623abf178dde73d4c874fe5a668191cf72712578196bxxxx
#主机连接数告警token
token2=24520a753fa460792df9e02ee66b3a32da29bd5e20df020b0ace17978cdfxxxx
#数据库主备状态、延迟、在线状态,连接数告警token
token3=589bc32b0dab51a8ba19563d2537631d22f3a4dd08556813cf4902be71c2xxxx
#CPU、内存告警token
token4=0c014ac502f9f7fb08bdc02e4e9b2a71f550791a481fd882d94388970f62xxxx

#目录挂载
token5=479acb021d0b47ab4d13ff8801907779b617c0149a2db4dea56b9e69xxxxx

USER=root
PASSWD=xxxxxx         数据库root密码
WHEREIS_MYSQL=/usr/local/mysql/bin/mysql

#获取当前系统时间
date=`${date_com} +%Y/%m/%d\ %H:%M`

#目录挂载告警
if [  $mount_total -lt 2 ];then
        /usr/bin/curl 'https://oapi.dingtalk.com/robot/send?access_token='$token5'' \
                        -H 'Content-Type: application/json' \
                        -d "{'msgtype': 'text','text': {content: 'nfs挂载状态告警:\n当前挂载数量:$mount_total \n主机名:$system_hostname \nIP地址:$system_ip \n当前时间:$date \n挂载情况: \n$mount_status'}}"
fi

#数据库连接数
mysql_conn=`$WHEREIS_MYSQL -u$USER -p$PASSWD -e "show full processlist;" 2> /dev/null |wc -l`
#数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值