diff options
Diffstat (limited to 'config/purge-varnish-debian.example')
-rwxr-xr-x | config/purge-varnish-debian.example | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/config/purge-varnish-debian.example b/config/purge-varnish-debian.example new file mode 100755 index 000000000..457a77ed8 --- /dev/null +++ b/config/purge-varnish-debian.example @@ -0,0 +1,92 @@ +#!/bin/bash +# +### BEGIN INIT INFO +# Provides: !!(*= $daemon_name *)!! +# Required-Start: $local_fs $syslog +# Required-Stop: $local_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: !!(*= $daemon_name *)!! is a daemon purging the Alaveteli varnish cache +# Description: !!(*= $daemon_name *)!! purges the Alaveteli varnish cache +### END INIT INFO +# +# !!(*= $daemon_name *)!! Start the Alaveteli email purge-varnish daemon + +NAME=!!(*= $daemon_name *)!! +DAEMON=!!(*= $vhost_dir *)!!/!!(*= $vcspath *)!!/script/runner +DAEMON_ARGS="--daemon PurgeRequest.purge_all_loop" +PIDDIR=!!(*= $vhost_dir *)!!/!!(*= $vcspath *)!!/tmp/pids +PIDFILE=$PIDDIR/!!(*= $daemon_name *)!!.pid +LOGDIR=!!(*= $vhost_dir *)!!/!!(*= $vcspath *)!!/log +LOGFILE=$LOGDIR/!!(*= $daemon_name *)!!.log +DUSER=!!(*= $user *)!! +# Set RAILS_ENV - not needed if using config/rails_env.rb +# RAILS_ENV=your_rails_env +# export RAILS_ENV + +type varnishadm > /dev/null 2>&1 || exit + +trap "" 1 + +export PIDFILE LOGFILE + +quietly_start_daemon() { + mkdir -p {$LOGDIR,$PIDDIR} + chown $DUSER:$DUSER {$LOGDIR,$PIDDIR} + /sbin/start-stop-daemon --quiet --start --pidfile "$PIDFILE" --chuid "$DUSER" --startas "$DAEMON" -- $DAEMON_ARGS +} + +start_daemon() { + mkdir -p {$LOGDIR,$PIDDIR} + chown $DUSER:$DUSER {$LOGDIR,$PIDDIR} + /sbin/start-stop-daemon --start --pidfile "$PIDFILE" --chuid "$DUSER" --startas "$DAEMON" -- $DAEMON_ARGS +} + +stop_daemon() { + /sbin/start-stop-daemon --stop --oknodo --retry 5 --pidfile "$PIDFILE" +} + +restart() { stop; start; } + +case "$1" in + check) + quietly_start_daemon + if [ $? -ne 1 ] + then + echo "Alaveteli purge-varnish daemon was not running; now restarted" + exit 1 + else + exit 0 + fi + ;; + + start) + echo -n "Starting Alaveteli purge-varnish daemon: $NAME" + start_daemon + ;; + + stop) + echo -n "Stopping Alaveteli purge-varnish daemon: $NAME" + stop_daemon + ;; + + restart) + echo -n "Restarting Alaveteli purge-varnish daemon: $NAME" + stop_daemon + start_daemon + ;; + + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|check}" + exit 1 + ;; +esac + +if [ $? -eq 0 ]; then + echo . + exit 0 +else + echo " failed" + exit 1 +fi + |