File: //usr/lib64/nagios/plugins/check_disk_usage.sh
#!/bin/bash
CRIT=90
list_usage=/tmp/list_usage.txt
list_overquota=/tmp/list_overquota.txt
declare -a arr_parti arr_over
cat /dev/null > $list_usage
cat /dev/null > $list_overquota
PER_USE_OS=`df -h / | grep "/$" | awk '{print $5}'`
PER_USE_BACKUP=`df -h /backup | grep "/backup$" | awk '{print $5}'`
echo -e "/ - Used: $PER_USE_OS" >> $list_usage
echo -e "/backup - Used: $PER_USE_BACKUP" >> $list_usage
for i in `lsblk -o name,mountpoint | grep "/home*" | cut -c3-6`
do
PARTI=`df -h | grep "$i" | awk '{print $6}'`
USAGE_PARTI=`df -h | grep "$i" | awk '{print $5}'`
arr_parti=("${arr_parti[@]}" "$PARTI""-Used: ""$USAGE_PARTI""; ")
echo -e "$PARTI - Used: $USAGE_PARTI" >> $list_usage
done
arr_parti=("${arr_parti[@]}" "/""-Used: ""$PER_USE_OS""; ")
arr_parti=("${arr_parti[@]}" "/backup""-Used: ""$PER_USE_BACKUP""; ")
while read LINE
do
USAGE_PARTI=`echo $LINE | awk -F"Used: " '{print $2}' | awk -F"%" '{print $1}'`
USAGE_PER=`echo $LINE | awk -F"Used: " '{print $2}'`
PARTI=`echo $LINE | awk -F" - " '{print $1}'`
if [[ $USAGE_PARTI -ge $CRIT ]]; then
arr_over=("${arr_over[@]}" "$PARTI""-Used: ""$USAGE_PER")
fi
done < $list_usage
if [[ "${arr_over[@]}" ]]; then
echo "Disk: CRITICAL: ${arr_over[@]}"
exit 2
else
echo "Disk: OK `echo ${arr_parti[@]}`"
exit 0
fi