77 lines
2.1 KiB
Bash
77 lines
2.1 KiB
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: varnishncsa
|
|
# REQUIRE: DAEMON varnishd
|
|
# KEYWORD: shutdown
|
|
|
|
#
|
|
# Add the following line to /etc/rc.conf to enable varnishncsa:
|
|
#
|
|
# varnishncsa_enable="YES"
|
|
#
|
|
# Configuration variables and their default values:
|
|
#
|
|
# varnishncsa_pidfile - full path to the PID file.
|
|
# default: "/var/run/varnishncsa.pid"
|
|
#
|
|
# varnishncsa_file - full path to the log file.
|
|
# default: "/var/log/varnishncsa.log"
|
|
#
|
|
# varnishncsa_log_method - log to file or syslog
|
|
# default: "-D -a -w ${varnishncsa_file}"
|
|
# varnishncsa_syslog="YES": '| /usr/bin/logger -t varnish -p daemon.info &'
|
|
#
|
|
# varnishncsa_flags - command line arguments.
|
|
# default: "-t off -P ${varnishncsa_pidfile} ${varnishncsa_logformat:+ -F \"$varnishncsa_logformat\"} ${varnishncsa_log_method}"
|
|
#
|
|
# varnishncsa_logformat - log file format.
|
|
# default: "" (uses varnishncsa's default format)
|
|
# example: "%h %l %u %t %r %s %b %{Referer}i %{User-agent}i"
|
|
#
|
|
# Add the following line to /etc/newsyslog.conf to rotate the log file
|
|
# once a day:
|
|
#
|
|
# /var/log/varnishncsa.log varnishlog:varnish 640 7 * @T00 JB /var/run/varnishncsa.pid
|
|
#
|
|
# See varnishncsa(1) for a detailed overview of command-line options.
|
|
#
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=varnishncsa
|
|
rcvar=varnishncsa_enable
|
|
|
|
load_rc_config ${name}
|
|
|
|
: ${varnishncsa_enable:=NO}
|
|
: ${varnishncsa_pidfile=/var/run/${name}.pid}
|
|
: ${varnishncsa_file=/var/log/${name}.log}
|
|
: ${varnishncsa_flags="-t off -P ${varnishncsa_pidfile} ${varnishncsa_logformat:+-F \"$varnishncsa_logformat\"}"}
|
|
: ${varnishncsa_syslog:=NO}
|
|
|
|
if checkyesno varnishncsa_syslog; then
|
|
varnishncsa_log_method='| /usr/bin/logger -t varnish -p daemon.info &'
|
|
else
|
|
varnishncsa_log_method="-D -a -w ${varnishncsa_file}"
|
|
fi
|
|
|
|
command="%%PREFIX%%/bin/${name}"
|
|
command_args="${varnishncsa_flags} ${varnishncsa_log_method}"
|
|
pidfile=${varnishncsa_pidfile}
|
|
start_precmd=precmd
|
|
|
|
precmd()
|
|
{
|
|
# $varnishncsa_flags gets applied too early if we don't do this.
|
|
rc_flags=""
|
|
|
|
if [ ! -e ${pidfile} ]; then
|
|
install -o varnishlog -g varnish -m 644 /dev/null ${pidfile};
|
|
fi
|
|
|
|
if [ ! -e ${varnishncsa_file} ]; then
|
|
install -o varnishlog -g varnish -m 640 /dev/null ${varnishncsa_file};
|
|
fi
|
|
}
|
|
|
|
run_rc_command "$1"
|