Skip to content
Snippets Groups Projects
Commit 02528416 authored by root's avatar root
Browse files

Added check_mountpoints script

parent efec9792
Branches
No related tags found
No related merge requests found
#!/bin/bash
PROGNAME=$(basename $0)
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
INVERSE=0
FSTAB_STATUS=0
MOUNTED_STATUS=0
MOUNTS=/proc/mounts
MTAB=/etc/mtab
FSTAB=/etc/fstab
function usage() {
echo "Usage: $PROGNAME \$mountpoint [\$mountpoint2 ...]"
echo "Usage: $PROGNAME -h,--help"
echo "Options:"
echo " -I Inverse results (OK if not mounted, WARNING if mounted)"
echo " MOUNTPOINT list of mountpoint to check. MANDATORY"
}
function print_help() {
echo ""
echo "This module checks if a mountpoint is defined in ${FSTAB}, and whether it is mounted"
echo "by checking ${MTAB}, ${MOUNTS} and mountpoint program"
echo ""
usage
echo ""
}
# --------------------------------------------------------------------
# startup checks
# --------------------------------------------------------------------
if [ $# -eq 0 ]; then
usage
exit $STATE_CRITICAL
fi
while [ "$1" != "" ]
do
case "$1" in
-I) INVERSE=1; shift;;
/*) MP="$1"; shift;;
*) usage; exit $STATE_UNKNOWN;;
esac
done
if [ -z "${MP}" ]; then
echo "ERROR: no mountpoint given!"
usage
exit $STATE_UNKNOWN
fi
## check FSTAB mounts
if [ ! -z "$( grep ${MP} ${FSTAB} )" ]
then
FSTAB_STATUS=1
fi
# check MOUNTS mounts
if [ ! -z "$( grep ${MP} ${MOUNTS} )" ]
then
# check MTAB mounts
if [ ! -z "$( grep ${MP} ${MTAB} )" ]
then
## check mountpoint
if [ $( mountpoint -q ${MP} ; echo $? ) -eq 0 ]
then
MOUNTED_STATUS=1
fi
fi
fi
if [ $MOUNTED_STATUS -eq 0 ]
then
if [ $INVERSE -eq 0 ]
then
echo "CRITICAL: ${MP} not mounted"
exit $STATE_CRITICAL
else
echo "OK: ${MP} not mounted"
exit $STATE_OK
fi
else
if [ $FSTAB_STATUS -eq 0 ]
then
echo "WARNING: ${MP} mounted but not defined in fstab"
exit $STATE_WARNING
else
if [ $INVERSE -eq 0 ]
then
echo "OK: ${MP} mounted"
exit $STATE_OK
else
echo "WARNING: ${MP} mounted"
exit $STATE_WARNING
fi
fi
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment