Update embedded libev code to version 4.22
[nsca-ng.git] / contrib / invoke_check
blobabe634197d3fbca6ce978a1a184ed2b145cde0ef
1 #!/bin/sh
3 # Copyright (c) 2013 Holger Weiss <holger@weiss.in-berlin.de>
5 # This file is free software; Holger Weiss gives unlimited permission to copy
6 # and/or distribute it, with or without modifications, as long as this notice is
7 # preserved.
9 # This program is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY, to the extent permitted by law; without even the implied
11 # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 set -u
15 send_nsca_args=${SEND_NSCA_ARGS:+$SEND_NSCA_ARGS}
17 PATH="$PATH:/usr/local/nagios/libexec:/usr/lib/nagios/plugins"
18 export PATH
20 die()
22 echo >&2 "$@"
23 exit 1
26 usage()
28 die "Usage: $0 [-c <config-file>] [-H <host>] [-S <service>]" \
29 "<plugin> [<argument> ...]"
32 while getopts c:H:hS: option
34 case $option in
36 send_nsca_args="${send_nsca_args:+$send_nsca_args }-c $OPTARG"
39 host=$OPTARG
42 service=$OPTARG
44 h|\?)
45 usage
47 esac
48 done
50 shift `expr $OPTIND - 1`
51 test $# -ge 1 || usage
53 host=${host:-`hostname | sed 's+\..*++' | tr '[:upper:]' '[:lower:]'`}
54 service=${service:-`echo "$1" | sed 's+.*[_/]++' | tr '[:lower:]' '[:upper:]'`}
55 output=`"$@"`
56 state=$?
58 test $state -le 3 || die "$0: '$@' yields invalid plugin return code $state"
60 printf '%b' "$host\t$service\t$state\t$output\n" | send_nsca $send_nsca_args
62 # vim:set joinspaces noexpandtab textwidth=80: