博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 监控脚本
阅读量:4939 次
发布时间:2019-06-11

本文共 992 字,大约阅读时间需要 3 分钟。

#!/bin/bash
# test common.
#warn=$1
#err=$2
#mount=$3
check_val()
{
    /usr/bin/expr $1 + 100 > /dev/null 2>&1
    return=$(echo $?)
    if [[ ${return} -ne 0 ]]
    then
        echo "please input number."
        exit 1
    fi
}
conf="./check_disk.conf"
if [[ ! -f ${conf} ]]
then
   echo "config file is not exists."
   exit 1
fi
while read line
do
    mount=${line%%=*}
    monitor=${line##*=}
    warn=${monitor%%,*}
    err=${monitor##*,}
    check_val $warn
    check_val $err
   
    #echo "mount: ${mount}; warrn: ${warrn}; err: ${err}"
    #qu ci pan kong jian.
    value=$(df -h | awk '{if($NF == "'"$line"'") print substr($5,1,length($5)-1)}')
   
    if [[ $value -gt ${warn} ]]
    then
        echo "${mount}: disk is full."
        d=$(date +"%s")
        cp /root/shell/log/messages /root/shell/log-bak/messages.${d}
        cat /dev/null > /root/shell/log/messages
    elif [[ $value -gt ${err} ]]
    then
        echo "${mount}: disk is crital."
    else
        echo "${mount}: It's normal."
    fi
done<${conf}
vim check_disk.conf
/=80,90
/boot=80,90
/dev=80,90
#此文件里的项目可自定义增减

转载于:https://www.cnblogs.com/lwl117/p/11114107.html

你可能感兴趣的文章
无论怎样,拒绝了
查看>>
Discuz API的延伸
查看>>
C/C++(C++内存管理,内联函数,类型转换,命名空间,string类)
查看>>
CentOS下一键安装Openstack
查看>>
【leetcode】Binary Tree Level Order Traversal I & II
查看>>
【NOIP2015】斗地主
查看>>
uva 10537 Toll! Revisited(优先队列优化dijstra及变形)
查看>>
MySQL对时间的处理总结
查看>>
笔记四:python乱码深度剖析二
查看>>
《PHP程序员面试笔试宝典》——如何回答技术性的问题?
查看>>
【转载】Amit’s A star Page 中译文
查看>>
GitHub Blog创建以及本地管理
查看>>
注册谷歌账号并验证时显示号码无法用于验证的问题
查看>>
Hive 变量和属性
查看>>
验证邮箱合法性的一些测试样例
查看>>
Python安装第三方库 xlrd 和 xlwt 。处理Excel表格
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
查看>>
细说sqlserver索引及SQL性能优化原则
查看>>
一般数据库增量数据处理和数据仓库增量数据处理的几种策略
查看>>