Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:Rebuild
monitoring-plugins-nis
check_nis_1.2
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File check_nis_1.2 of Package monitoring-plugins-nis
#!/bin/sh ############################################### # # Nagios script to check NIS status on a host # # Copyright 2007, 2008 Ian Yates # # See usage for command line switches # # Created: 2006-07-04 (i.yates@uea.ac.uk) # Updated: 2007-07-30 (i.yates@uea.ac.uk) - Added user lookup and error checking # Updated: 2008-11-27 (i.yates@uea.ac.uk) - Added GPLv3 licence # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################### . /usr/local/nagios/libexec/utils.sh VERSION="1.2" AWK=/bin/awk SED=/bin/sed GREP=/bin/grep YPPOLL=/usr/sbin/yppoll YPCAT=/usr/bin/ypcat FLAG_VERBOSE=FALSE NIS_HOST="" NIS_DOMAIN="" NIS_USER_TEST="" RESULT="" EXIT_STATUS=$STATE_OK ############################################### # ## FUNCTIONS # ## Print usage usage() { echo " check_nis $VERSION - Nagios NIS check script" echo "" echo " Usage: check_nis -H <hostname> -d <nis domain> [ -u <username> ] [ -v ] [ -h ]" echo "" echo " -H Name of host running the NIS service you wish to check" echo " -d NIS domain" echo " -u Username to query NIS with" echo " -v Verbose output" echo " -h Show this page" echo "" } ## Process command line options doopts() { if ( `test 0 -lt $#` ) then while getopts H:d:u:vh myarg "$@" do case $myarg in h|\?) usage exit;; H) NIS_HOST=$OPTARG;; d) NIS_DOMAIN=$OPTARG;; u) NIS_USER_TEST=$OPTARG;; v) FLAG_VERBOSE=TRUE;; *) # Default usage exit;; esac done else usage exit fi } # Write output and return result theend() { echo $RESULT exit $EXIT_STATUS } # ## END FUNCTIONS # ############################################# # ## MAIN # # Handle command line options doopts $@ # Do the do OUTPUT=`$YPPOLL -h $NIS_HOST -d $NIS_DOMAIN passwd.byname 2> /dev/null | $GREP 'is supported'` if test "$OUTPUT" != "" ; then if test -n "$NIS_USER_TEST" ; then ## If we're checking user lookup OUTPUT=`$YPCAT -h $NIS_HOST -d $NIS_DOMAIN passwd | grep $NIS_USER_TEST` if test -n "$OUTPUT" ; then OUTPUT=`echo "$OUTPUT" | grep "RPC"` if test "$OUTPUT" != "" ; then RESULT="NIS CRITICAL - domain $NIS_DOMAIN, user \"$NIS_USER_TEST\" lookup failed" EXIT_STATUS=$STATE_CRITICAL else RESULT="NIS OK - domain $NIS_DOMAIN, user \"$NIS_USER_TEST\" lookup succeeded" EXIT_STATUS=$STATE_OK fi else RESULT="NIS CRITICAL - domain $NIS_DOMAIN, user \"$NIS_USER_TEST\" lookup failed" EXIT_STATUS=$STATE_CRITICAL fi else RESULT="NIS OK - domain $NIS_DOMAIN" EXIT_STATUS=$STATE_OK fi else RESULT="NIS CRITICAL - domain $NIS_DOMAIN not answering" EXIT_STATUS=$STATE_CRITICAL fi # Quit and return information and exit status theend
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor