#!/bin/sh # kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing. if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script fi ### BEGIN INIT INFO # Provides: prometheus-pgbouncer-exporter # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Prometheus exporter for pgbouncer # Description: Prometheus exporter for pgbouncer metrics, written in # Python. ### END INIT INFO # Author: Christopher Baines DESC="Prometheus exporter for pgbouncer" DAEMON=/usr/bin/prometheus-pgbouncer-exporter NAME=prometheus-pgbouncer-exporter USER=postgres PIDFILE=/var/run/postgresql/prometheus-pgbouncer-exporter.pid LOGFILE=/var/log/postgresql/prometheus-pgbouncer-exporter.log ARGS="" [ -r /etc/default/$NAME ] && . /etc/default/$NAME HELPER=/usr/bin/daemon HELPER_ARGS="--name=$NAME --output=$LOGFILE --pidfile=$PIDFILE --user=$USER" do_start_prepare() { mkdir -p `dirname $PIDFILE` || true chown -R $USER: `dirname $LOGFILE` chown -R $USER: `dirname $PIDFILE` } do_start_cmd() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started $HELPER $HELPER_ARGS --running && return 1 $HELPER $HELPER_ARGS -- $DAEMON $ARGS || return 2 return 0 } do_stop_cmd() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred $HELPER $HELPER_ARGS --running || return 1 $HELPER $HELPER_ARGS --stop || return 2 # wait for the process to really terminate for n in 1 2 3 4 5; do sleep 1 $HELPER $HELPER_ARGS --running || break done $HELPER $HELPER_ARGS --running || return 0 return 2 }