1292639Sdavidcs#!/bin/sh
2292639Sdavidcs#
3292639Sdavidcs# Copyright (c) 2001-2003
4292639Sdavidcs#	Fraunhofer Institute for Open Communication Systems (FhG Fokus).
5292639Sdavidcs#	All rights reserved.
6292639Sdavidcs#
7292639Sdavidcs# Author: Harti Brandt <harti@freebsd.org>
8292639Sdavidcs# 
9292639Sdavidcs# Redistribution and use in source and binary forms, with or without
10292639Sdavidcs# modification, are permitted provided that the following conditions
11292639Sdavidcs# are met:
12292639Sdavidcs# 1. Redistributions of source code must retain the above copyright
13292639Sdavidcs#    notice, this list of conditions and the following disclaimer.
14292639Sdavidcs# 2. Redistributions in binary form must reproduce the above copyright
15292639Sdavidcs#    notice, this list of conditions and the following disclaimer in the
16292639Sdavidcs#    documentation and/or other materials provided with the distribution.
17292639Sdavidcs# 
18292639Sdavidcs# THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19292639Sdavidcs# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20292639Sdavidcs# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21292639Sdavidcs# ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
22292639Sdavidcs# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23292639Sdavidcs# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24292639Sdavidcs# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25292639Sdavidcs# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26292639Sdavidcs# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27292639Sdavidcs# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28292639Sdavidcs# SUCH DAMAGE.
29292639Sdavidcs#
30292639Sdavidcs# $Begemot: bsnmp/snmpd/snmpd.sh,v 1.3 2004/08/06 08:47:13 brandt Exp $
31292639Sdavidcs#
32292639Sdavidcs# SNMPd startup script
33292639Sdavidcs#
34292639SdavidcsSNMPD=/usr/local/bin/bsnmpd
35292639SdavidcsPID=/var/run/snmpd.pid
36292639SdavidcsCONF=/etc/snmpd.conf
37292639Sdavidcs
38292639Sdavidcscase "$1" in
39292639Sdavidcs
40292639Sdavidcsstart)
41292639Sdavidcs	if [ -r ${PID} ] ; then
42292639Sdavidcs		if kill -0 `cat ${PID}` ; then
43292639Sdavidcs			echo "snmpd already running -- pid `cat ${PID}`" >/dev/stderr
44292639Sdavidcs			exit 1
45292639Sdavidcs		fi
46292639Sdavidcs		rm -f ${PID}
47292639Sdavidcs	fi
48292639Sdavidcs	if ${SNMPD} -c ${CONF} -p ${PID} ; then
49292639Sdavidcs		echo "snmpd started"
50292639Sdavidcs	fi
51292639Sdavidcs	;;
52292639Sdavidcs
53292639Sdavidcsstop)
54292639Sdavidcs	if [ -r ${PID} ] ; then
55292639Sdavidcs		if kill -0 `cat ${PID}` ; then
56292639Sdavidcs			if kill -15 `cat ${PID}` ; then
57292639Sdavidcs				echo "snmpd stopped"
58292639Sdavidcs				exit 0
59292639Sdavidcs			fi
60292639Sdavidcs			echo "cannot kill snmpd" >/dev/stderr
61292639Sdavidcs			exit 1
62292639Sdavidcs		fi
63292639Sdavidcs		echo "stale pid file -- removing" >/dev/stderr
64292639Sdavidcs		rm -f ${PID}
65292639Sdavidcs		exit 1
66292639Sdavidcs	fi
67292639Sdavidcs	echo "snmpd not running" >/dev/stderr
68292639Sdavidcs	;;
69292639Sdavidcs
70292639Sdavidcsstatus)
71292639Sdavidcs	if [ ! -r ${PID} ] ; then
72292639Sdavidcs		echo "snmpd not running"
73292639Sdavidcs	elif kill -0 `cat ${PID}` ; then
74292639Sdavidcs		echo "snmpd pid `cat ${PID}`"
75292639Sdavidcs	else
76292639Sdavidcs		echo "stale pid file -- pid `cat ${PID}`"
77292639Sdavidcs	fi
78292639Sdavidcs	;;
79292639Sdavidcs
80292639Sdavidcs*)
81292639Sdavidcs	echo "usage: `basename $0` {start|stop|status}"
82292639Sdavidcs	exit 1
83292639Sdavidcsesac
84292639Sdavidcs
85292639Sdavidcsexit 0
86292639Sdavidcs