#!/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. # shellcheck disable=SC1091 . /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" # shellcheck disable=SC1090 [ -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() { printf "Starting %s: " "$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() { printf "Shutting down %s: " "$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 $?