#!/bin/bash
##################################################################################################################
# 作 者 :Witee #
# 最后修改时间 :2013-7-9 #
# 版 本 :1.0 #
# 联系方式 :http://www.weibo.com/witee #
# 作用及使用方法: 直接执行脚本 使用df命令取得两次分区变化,并写入文件,然后对比两个文件md5值的变化 #
##################################################################################################################
# 状态定义
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
# 一些定义
# 分区模板,以此为分区变化依据
partition_file='/tmp/partition.log'
# 当前分区情况
now_partition_file='/tmp/now_partition.log'
# 判断初始分区记录文件是否存在, 所使用的命令 df -h |awk '{print $1,$6}' > /tmp/partition.log
if [ ! -f $partition_file ]
then
echo "$partition_file not found ,if this is the first running ,please create it ."
exit $STATE_UNKNOWN
fi
# 生成当前分区表文件
df -h |awk '{print $1,$6}' > $now_partition_file
if [ -f $now_partition_file ]
then
#计算两个分区文件的md5值,并对比
partition_md5="`md5sum $partition_file |awk '{print $1}'`"
now_partition_md5="`md5sum $now_partition_file |awk '{print $1}'`"
if [ "$partition_md5" != "$now_partition_md5" ]
then
echo -e "CRITICAL - Partition has been changed. Details old->new At:"`diff -b $partition_file $now_partition_file`""
exit $STATE_CRITICAL
else
echo "OK - Partitions does not change."
exit $STATE_OK
fi
else
echo "$now_partition_file not found ,please check."
exit $STATE_UNKNOWN
fi
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。