Code

new smb check - users
authorSubhendu Ghosh <sghosh@users.sourceforge.net>
Wed, 14 Aug 2002 15:29:58 +0000 (15:29 +0000)
committerSubhendu Ghosh <sghosh@users.sourceforge.net>
Wed, 14 Aug 2002 15:29:58 +0000 (15:29 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@71 f882894a-f735-0410-b71e-b25c423dba1c

contrib/check_smb.sh [new file with mode: 0644]

diff --git a/contrib/check_smb.sh b/contrib/check_smb.sh
new file mode 100644 (file)
index 0000000..728535a
--- /dev/null
@@ -0,0 +1,111 @@
+#!/bin/bash
+#
+#    Program : check_smb
+#            :
+#     Author : Cal Evans <cal@calevans.com>
+#            :
+#    Purpose : Nagios plugin to return the number of users logged into a smb
+#            : server and the number of files open.
+#            :
+# Parameters : --help
+#            : --version
+#            :
+#    Returns : Standard Nagios status_* codes as defined in utils.sh
+#            :
+#      Notes :
+#============:==============================================================
+#        1.0 : 06/27/2002
+#            : Initial coding
+#            :
+#        1.1 : 06/28/2002
+#            : Re-wrote the user counter to match the file-lock counter.
+#            :
+
+#
+# Shamelessly stolen from other Nagios plugins.
+#
+PROGNAME=`basename $0`
+PROGPATH=`echo $0 | /bin/sed -e 's,[\\/][^\\/][^\\/]*$,,'`
+REVISION=`echo '$Revision$' | sed -e 's/[^0-9.]//g'`
+
+
+. $PROGPATH/utils.sh
+
+print_usage() {
+        echo "Usage: $PROGNAME --help"
+        echo "Usage: $PROGNAME --version"
+}
+
+print_help() {
+        print_revision $PROGNAME $REVISION
+        echo ""
+        print_usage
+        echo ""
+        echo "Samba status check."
+        echo ""
+        support
+}
+
+# No command line arguments are required for this script. We accept only 2,
+# --help and --version.  If more than 1 is passed in then we have an error
+# condition.
+
+if [ $# -gt 1 ]; then
+        print_usage
+        exit $STATE_UNKNOWN
+fi
+
+
+#
+# If we have arguments, process them.
+#
+exitstatus=$STATE_WARNING #default
+while test -n "$1"; do
+        case "$1" in
+                --help)
+                        print_help
+                        exit $STATE_OK
+                        ;;
+                -h)
+                        print_help
+                        exit $STATE_OK
+                        ;;
+                --version)
+                        print_revision $PROGNAME $REVISION
+                        exit $STATE_OK
+                        ;;
+                -V)
+                        print_revision $PROGNAME $REVISION
+                        exit $STATE_OK
+                        ;;
+
+                *)
+                        echo "Unknown argument: $1"
+                        print_usage
+                        exit $STATE_UNKNOWN
+                        ;;
+        esac
+        shift
+done
+
+#
+# No arguments.  Let's kick this pig.
+#
+total_users=$(smbstatus -b | grep "^[0-9]" | wc -l)
+
+#
+# Ok, now let's grab a count of the files.
+#
+total_files=$(smbstatus | grep "^[0-9]" | wc -l)
+
+#
+# now for the dismount.
+#
+echo "Total Users:$total_users Total Files:$total_files"
+
+#
+# let Nagios know that everything is ok.
+#
+exit $STATE_OK
+
+