summaryrefslogtreecommitdiff
path: root/usr-lib-nagios-plugins
diff options
context:
space:
mode:
Diffstat (limited to 'usr-lib-nagios-plugins')
-rw-r--r--usr-lib-nagios-plugins/check_fs_ro.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/usr-lib-nagios-plugins/check_fs_ro.sh b/usr-lib-nagios-plugins/check_fs_ro.sh
new file mode 100644
index 0000000..bed8083
--- /dev/null
+++ b/usr-lib-nagios-plugins/check_fs_ro.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+# Copyright (C) 2016 Mike Gabriel
+#
+# File: check_fs_ro.sh
+# Author: Mike Gabriel
+# Date: 06 Sep 2016
+# Version: 0.11
+
+# LICENSE: MIT/Expat
+
+set -f
+shopt -u extglob
+
+# Program args
+ME="$0"
+CMDLINE="$@"
+
+NAGOK=0
+NAGWARN=1
+NAGCRIT=2
+NAGUNKN=3
+
+usage()
+{
+ echo "Check that ext[2|3|4], btrfs or xfs filesystems are not read-only."
+}
+
+parse_options()
+{
+ local new
+
+ set -- $CMDLINE
+ while true
+ do
+ case $1 in
+ #-v) shift ; gVersion=$1
+ #;;
+ -h) usage ; exit 0
+ ;;
+ ?*) echo "Syntax error." ; exit 1
+ ;;
+ esac
+ shift 1 || break
+ done
+}
+
+main()
+{
+ parse_options
+
+ retval=$NAGOK
+
+ grep -E '^.*\ .*\ (ext.*|btrfs|xfs)\ ro,.*$' /proc/mounts | while read fs; do
+ rofs=`echo $fs | awk '{ print $2; }'`
+ echo "CRITICAL: $rofs is a read-only filesystem."
+ done
+
+ if ! grep -E '^.*\ .*\ (ext.*|btrfs|xfs)\ ro,.*$' /proc/mounts 1>/dev/null; then
+ echo "OK."
+ else
+ retval=$NAGCRIT
+ fi
+
+ exit $retval
+}
+
+main