aboutsummaryrefslogtreecommitdiff
path: root/nfc
diff options
context:
space:
mode:
Diffstat (limited to 'nfc')
l---------[-rwxr-xr-x]nfc78
1 files changed, 1 insertions, 77 deletions
diff --git a/nfc b/nfc
index 99d9534..fcf24d1 100755..120000
--- a/nfc
+++ b/nfc
@@ -1,77 +1 @@
-#!/usr/bin/env bash
-
-#
-# nagios-force-check(1) -- Force an immediate check of a nominated host or
-# service.
-#
-# $ nac <host>[/<service>]
-#
-# Author: Tom Ryder <tom@sanctum.geek.nz>
-# Copyright: 2014 Sanctum
-#
-
-# Name self
-self=nagios-force-check
-
-# Usage printing function
-usage() {
- printf 'USAGE: %s [-n] <host[/service]>\n' "$self"
-}
-
-# Handle options, just -h help at the moment
-OPTIND=1
-while getopts 'h' opt ; do
- case "$opt" in
- h)
- usage
- exit 0
- ;;
- '?')
- usage >&2
- exit 1
- ;;
- esac
-done
-shift "$((OPTIND-1))"
-
-# Bail if no arguments left; we need at least the host/service name
-if ! (($#)) ; then
- usage >&2
- exit 1
-fi
-
-# Define relatively fixed/guaranteed fields for Nagios command; note that the
-# comment has a default of 'no comment given'
-now=$(date +%s)
-spec=$1
-cmdfile=${NAGCMD_FILE:-/usr/local/nagios/var/rw/nagios.cmd}
-
-# If a service name is specified after a slash, figure that out
-if [[ $spec == */* ]] ; then
- host=${spec%/*}
- service=${spec##*/}
-else
- host=$spec
- service=
-fi
-
-# Write command and print message if it fails; succeed silently
-declare -a cmds
-if [[ $service ]] ; then
- cmds=("${cmds[@]}" "$(printf '[%lu] SCHEDULE_FORCED_SVC_CHECK;%s;%s;%lu' \
- "$now" "$host" "$service" "$now")")
-else
- cmds=("${cmds[@]}" "$(printf '[%lu] SCHEDULE_FORCED_HOST_CHECK;%s;%lu' \
- "$now" "$host" "$now")")
- cmds=("${cmds[@]}" "$(printf '[%lu] SCHEDULE_HOST_SVC_CHECKS;%s;%lu' \
- "$now" "$host" "$now")")
-fi
-
-# Attempt to write command to file
-for cmd in "${cmds[@]}" ; do
- if ! printf '%s\n' "$cmd" >> "$cmdfile" ; then
- printf '%s: Failed to write command to file\n' "$self" >&2
- exit 1
- fi
-done
-
+nagios-force-check \ No newline at end of file