#!/bin/bash # # /etc/rc.d/init.d/consul-template # # Daemonize the consul-template agent. # # chkconfig: 2345 95 95 # description: Generic template rendering and notifications with Consul # processname: consul-template # pidfile: /var/run/consul-template/pidfile # Source function library. . /etc/init.d/functions NAME=consul-template CONSUL_TEMPLATE=/usr/local/bin/consul-template CONFIG=/etc/$NAME/conf.d PID_FILE=/var/run/$NAME/pidfile LOG_FILE=/var/log/$NAME [ -e /etc/sysconfig/$NAME ] && . /etc/sysconfig/$NAME export CONSUL_TEMPLATE_LOG=${CONSUL_TEMPLATE_LOG:-info} export GOMAXPROCS=${GOMAXPROCS:-2} mkdir -p /var/run/$NAME start() { echo -n "Starting $NAME: " daemon --pidfile="$PID_FILE" \ "$CONSUL_TEMPLATE" -config "$CONFIG" >> "$LOG_FILE" 2>&1 & echo $! > "$PID_FILE" retcode=$? touch /var/lock/subsys/$NAME return $retcode } stop() { echo -n "Shutting down $NAME: " killproc -p $PID_FILE $CONSUL_TEMPLATE retcode=$? rm -f /var/lock/subsys/$NAME return $retcode } case "$1" in start) if $(status -p "$PID_FILE" $NAME >/dev/null); then echo "$NAME already running" else start fi ;; stop) if $(status -p "$PID_FILE" $NAME >/dev/null); then stop else echo "$NAME not running" fi ;; status) status -p "$PID_FILE" $NAME exit $? ;; restart) if $(status -p "$PID_FILE" $NAME >/dev/null); then stop fi start ;; reload) if $(status -p "$PID_FILE" $NAME >/dev/null); then kill -HUP `cat $PID_FILE` else echo "$NAME not running" fi ;; condrestart) if [ -f /var/lock/subsys/$NAME ]; then if $(status -p "$PID_FILE" $NAME >/dev/null); then stop fi start fi ;; *) echo "Usage: $NAME {start|stop|status|reload|restart}" exit 1 ;; esac exit $?