From 3bee6cbd777cb11dc98daf6954bf9a4ec089a6ee Mon Sep 17 00:00:00 2001 From: Tim Laszlo Date: Mon, 8 Oct 2012 14:29:15 -0500 Subject: add init script --- debian/bcfg2-report-collector.init | 108 +++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100755 debian/bcfg2-report-collector.init (limited to 'debian/bcfg2-report-collector.init') diff --git a/debian/bcfg2-report-collector.init b/debian/bcfg2-report-collector.init new file mode 100755 index 000000000..d3ef6dcc5 --- /dev/null +++ b/debian/bcfg2-report-collector.init @@ -0,0 +1,108 @@ +#!/bin/sh +# +# bcfg-report-collector - Bcfg2 reporting collector daemon +# +# chkconfig: 2345 19 81 +# description: bcfg2 server for reporting data +# +### BEGIN INIT INFO +# Provides: bcfg2-report-collector +# Required-Start: $network $remote_fs $named +# Required-Stop: $network $remote_fs $named +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Configuration management Server +# Description: Bcfg2 is a configuration management system that builds +# installs configuration files served by bcfg2-server +### END INIT INFO + +# Include lsb functions +. /lib/lsb/init-functions + +# Commonly used stuff +DAEMON=/usr/sbin/bcfg2-report-collector +PIDFILE=/var/run/bcfg2-server/bcfg2-report-collector.pid +PARAMS="-D $PIDFILE" + +# Include default startup configuration if exists +test -f "/etc/default/bcfg2-server" && . /etc/default/bcfg2-server + +# Exit if $DAEMON doesn't exist and is not executable +test -x $DAEMON || exit 5 + +# Internal variables +BINARY=$(basename $DAEMON) + +start () { + echo -n "Starting Configuration Report Collector: " + start_daemon ${DAEMON} ${PARAMS} ${BCFG2_REPORT_OPTIONS} + STATUS=$? + if [ "$STATUS" = 0 ] + then + log_success_msg "bcfg2-report-collector" + test -d /var/lock/subsys && touch /var/lock/subsys/bcfg2-report-collector + else + log_failure_msg "bcfg2-report-collector" + fi + return $STATUS +} + +stop () { + echo -n "Stopping Configuration Report Collector: " + if [ -f $PIDFILE ]; then + PID=`cat $PIDFILE | tr -d -c '0-9'` + killproc -p $PID ${BINARY} + else + killproc ${BINARY} + fi + STATUS=$? + if [ "$STATUS" = 0 ]; then + log_success_msg "bcfg2-report-collector" + test -d /var/lock/subsys && touch /var/lock/subsys/bcfg2-report-collector + else + log_failure_msg "bcfg2-report-collector" + fi + return $STATUS +} + +status () { + # Inspired by redhat /etc/init.d/functions status() call + PID=$(pidof -x $BINARY -o %PPID) + if [ -n "$PID" ]; then + echo "$BINARY (pid $PID) is running..." + return 0 + fi + + if [ -f $PIDFILE ]; then + if [ -n "$PID" ]; then + log_failure_msg "$BINARY dead but pid file exists..." + return 1 + fi + fi + + log_failure_msg "$BINARY is not running" + return 3 +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status + ;; + restart|reload|force-reload) + stop + sleep 5 + start + ;; + *) + log_success_msg "Usage: $0 {start|stop|status|reload|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 -- cgit v1.2.3-1-g7c22