#!/sbin/runscript # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/www-servers/varnish/files/varnishd.initd,v 1.7 2009/08/30 06:28:07 hollow Exp $ extra_commands="reload flush" depend() { need net } start() { ebegin "Starting varnish" #allow varnishd to lock logfile to memory ulimit -l 82000 start-stop-daemon --quiet --start --pidfile /var/run/varnishd.pid --exec /usr/sbin/varnishd -- -P /var/run/varnishd.pid ${VARNISHD_OPTS} &> /dev/null eend $? if [ "${VARNISHNCSA_ARGS}" != "" ]; then ebegin "Starting varnish logging" start-stop-daemon --quiet --start --pidfile /var/run/varnishncsa.pid --exec /usr/bin/varnishncsa -- -D -P /var/run/varnishncsa.pid ${VARNISHNCSA_ARGS} eend $? fi } stop() { ebegin "Stopping varnish" start-stop-daemon --quiet --stop --pidfile /var/run/varnishd.pid eend $? if [ -e /var/run/varnishncsa.pid ]; then ebegin "Stopping varnish logging" start-stop-daemon --quiet --stop --pidfile /var/run/varnishncsa.pid eend $? fi } reload() { ebegin "Reloading varnish" # purge unused old configurations DISCARDS=$(/usr/bin/varnishadm -T $ADMINHOSTPORT vcl.list | sed -ne "s/^available *0 *\(reload.*\)/ \\1/p") for VCL in $DISCARDS ; do /usr/bin/varnishadm -T $ADMINHOSTPORT vcl.discard $VCL > /dev/null done # reload new one NOW=$(date +%Y%m%d-%H%M%S-%s) /usr/bin/varnishadm -T $ADMINHOSTPORT vcl.load reload-$NOW $CFG_FILE > /dev/null /usr/bin/varnishadm -T $ADMINHOSTPORT vcl.use reload-$NOW > /dev/null eend $? } flush() { ebegin "Flushing varnish cache" /usr/bin/varnishadm -T $ADMINHOSTPORT ban obj.http.host "~" "." > /dev/null eend $? }