| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #!/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: 71 $' | 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
|