diff options
Diffstat (limited to 'debian/apache2.apache-htcacheclean.init')
-rwxr-xr-x | debian/apache2.apache-htcacheclean.init | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/debian/apache2.apache-htcacheclean.init b/debian/apache2.apache-htcacheclean.init new file mode 100755 index 0000000..c7f7f94 --- /dev/null +++ b/debian/apache2.apache-htcacheclean.init @@ -0,0 +1,71 @@ +#!/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: apache-htcacheclean +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Cache cleaner process for Apache2 web server +# Description: Start the htcacheclean helper +# This script will start htcacheclean which will periodically scan the +# cache directory of Apache2's mod_cache_disk and remove outdated files. +### END INIT INFO + +DESC="Apache htcacheclean" +DAEMON=/usr/bin/htcacheclean + +NAME="${0##*/}" +NAME="${NAME##[KS][0-9][0-9]}" +DIR_SUFFIX="${NAME##apache-htcacheclean}" +APACHE_CONFDIR="${APACHE_CONFDIR:=/etc/apache2$DIR_SUFFIX}" +RUN_USER=$(. $APACHE_CONFDIR/envvars > /dev/null && echo "$APACHE_RUN_USER") + +# Default values. Edit /etc/default/apache-htcacheclean$DIR_SUFFIX to change these +HTCACHECLEAN_SIZE="${HTCACHECLEAN_SIZE:=300M}" +HTCACHECLEAN_DAEMON_INTERVAL="${HTCACHECLEAN_DAEMON_INTERVAL:=120}" +HTCACHECLEAN_PATH="${HTCACHECLEAN_PATH:=/var/cache/apache2$DIR_SUFFIX/mod_cache_disk}" +HTCACHECLEAN_OPTIONS="${HTCACHECLEAN_OPTIONS:=-n}" + +# Read configuration variable file if it is present +if [ -f /etc/default/apache-htcacheclean$DIR_SUFFIX ] ; then + . /etc/default/apache-htcacheclean$DIR_SUFFIX +elif [ -f /etc/default/apache-htcacheclean ] ; then + . /etc/default/apache-htcacheclean +fi + +PIDDIR="/var/run/apache2/$RUN_USER" +PIDFILE="$PIDDIR/$NAME.pid" +DAEMON_ARGS="$HTCACHECLEAN_OPTIONS \ + -d$HTCACHECLEAN_DAEMON_INTERVAL \ + -P$PIDFILE -i \ + -p$HTCACHECLEAN_PATH \ + -l$HTCACHECLEAN_SIZE" + +do_start_prepare () { + if [ ! -d "$PIDDIR" ] ; then + mkdir -p "$PIDDIR" + chown "$RUN_USER:" "$PIDDIR" + fi + if [ ! -d "$HTCACHECLEAN_PATH" ] ; then + echo "Directory $HTCACHECLEAN_PATH does not exist!" >&2 + exit 2 + fi +} + +do_start_cmd_override () { + start-stop-daemon --start --quiet --pidfile ${PIDFILE} \ + -u $RUN_USER --startas $DAEMON --name htcacheclean --test > /dev/null \ + || return 1 + start-stop-daemon --start --quiet --pidfile ${PIDFILE} \ + -c $RUN_USER --startas $DAEMON --name htcacheclean -- $DAEMON_ARGS \ + || return 2 +} + +do_stop_cmd_override () { + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ + -u $RUN_USER --pidfile ${PIDFILE} --name htcacheclean +} |