Skip to content

Instantly share code, notes, and snippets.

@BDQ
Created May 7, 2012 15:53
Show Gist options
  • Save BDQ/2628577 to your computer and use it in GitHub Desktop.
Save BDQ/2628577 to your computer and use it in GitHub Desktop.
#! /bin/sh
### BEGIN INIT INFO
# Provides: puppet
# Required-Start: $network $named $remote_fs $syslog
# Required-Stop: $network $named $remote_fs $syslog
# Should-Start: puppet
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/puppet
DAEMON_OPTS=""
NAME="agent"
DESC="puppet agent"
PIDFILE="/var/run/puppet/${NAME}.pid"
test -x $DAEMON || exit 0
[ -r /etc/default/puppet ] && . /etc/default/puppet
. /lib/lsb/init-functions
is_true() {
if [ "x$1" = "xtrue" -o "x$1" = "xyes" -o "x$1" = "x0" ] ; then
return 0
else
return 1
fi
}
reload_puppet_agent() {
start-stop-daemon --stop --quiet --signal HUP --pidfile $PIDFILE
}
start_puppet_agent() {
if is_true "$START" ; then
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--startas $DAEMON -- $NAME $DAEMON_OPTS
else
echo ""
echo "puppet not configured to start, please edit /etc/default/puppet to enable"
fi
}
stop_puppet_agent() {
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
}
status_puppet_agent() {
status_of_proc -p "${PIDFILE}" "${DAEMON}" "${NAME}"
}
case "$1" in
start)
log_begin_msg "Starting $DESC"
start_puppet_agent
log_end_msg $?
;;
stop)
log_begin_msg "Stopping $DESC"
stop_puppet_agent
log_end_msg $?
;;
reload)
log_begin_msg "Reloading $DESC"
reload_puppet_agent
log_end_msg $?
;;
status)
status_puppet_agent
;;
restart|force-reload)
log_begin_msg "Restarting $DESC"
stop_puppet_agent
sleep 1
start_puppet_agent
log_end_msg $?
;;
*)
echo "Usage: $0 {start|stop|status|restart|force-reload|reload}" >&2
exit 1
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment