summaryrefslogtreecommitdiff
path: root/network/nrpe/rc.nrpe
blob: 1c46b942551873ad2afbea6576a594482f539e2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/sh
#
# nrpe daemon control script.
#
# This is an init script for the nrpe daemon.
# To use nrpe, you must first set up the config file(s).
#
# Written for Slackware Linux by Cherife li <cherife@dotimes.com>
# Modified for SBo by Zordrak <slackbuilds@tpa.me.uk>

BIN=/usr/bin/nrpe
CFGFILE=/etc/nagios/nrpe.cfg
PIDFILE=/var/run/nrpe.pid
LOCKFILE=/var/lock/nrpe

printstatus()
{
  if [ -e $PIDFILE ]; then
    echo "nrpe (pid $PID) is running..."
  else
    echo "nrpe is not running"
  fi
}

killproc()
{
  kill $2 $PID
}

getpid()
{
  if test ! -f $PIDFILE; then
    echo "Pid file $PIDFILE not found."
    exit 1
  else
    PID=`head -n 1 $PIDFILE`
  fi
}

# Check whether nrpe bin file exists.
if [ ! -f $BIN ]; then
    echo "Executable file $BIN not found.  Exiting."
    exit 1
fi

# Check whether nrpe config exists.
if [ ! -f $CFGFILE ]; then
    echo "Configuration file $CFGFILE not found.  Exiting."
    exit 1
fi

# Controls
case "$1" in
  start)
    echo -n "Starting nrpe:"
    $BIN -c $CFGFILE -d
    touch $LOCKFILE
    echo " done."
  ;;
  stop)
    echo -n "Stopping nrpe:"
    getpid
    killproc nrpe
    rm -f $LOCKFILE
    echo " done."
  ;;
  status)
    getpid
    printstatus nrpe
  ;;
  restart)
    $0 stop
    $0 start
  ;;
  *)
    echo "Usage: nrpe {start|stop|restart|status}"
    exit 1
  ;;
esac