Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/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