summaryrefslogtreecommitdiffstats
path: root/recipes/squid/squid/squid.init
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/squid/squid/squid.init')
-rw-r--r--recipes/squid/squid/squid.init70
1 files changed, 70 insertions, 0 deletions
diff --git a/recipes/squid/squid/squid.init b/recipes/squid/squid/squid.init
new file mode 100644
index 0000000000..61d9de42dd
--- /dev/null
+++ b/recipes/squid/squid/squid.init
@@ -0,0 +1,70 @@
+#!/bin/sh
+DAEMON=/usr/sbin/squid
+NAME=squid
+DESC="Squid HTTP proxy"
+PIDFILE=/var/run/squid.pid
+SQUID_ARGS="-D -sYC"
+
+test -f $DAEMON || exit 0
+
+grepconf() {
+ w=" " # space tab
+ sq=/etc/$NAME.conf
+ # sed is cool.
+ res=`sed -ne '
+ s/^'$1'['"$w"']\+[^'"$w"']\+['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
+ t end;
+ d;
+ :end q' < $sq`
+ [ -n "$res" ] || res=$2
+ echo "$res"
+}
+
+start() {
+ owner=nobody
+
+ cdr=`grepconf cache_dir /var/spool/$NAME`
+ if [ ! -d "$cdr/00" ]; then
+ mkdir -p $cdr
+ chown $owner $cdr
+ $DAEMON -z
+ fi
+
+ ldr="/var/log/$NAME"
+ if [ ! -d "$ldr" ]; then
+ mkdir -p $ldr
+ chown $owner $ldr
+ fi
+
+ start-stop-daemon -S -p $PIDFILE -x $DAEMON
+}
+
+stop() {
+ start-stop-daemon -K -p $PIDFILE -x $DAEMON
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: $NAME... "
+ start
+ echo "done."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: $NAME... "
+ stop
+ echo "done."
+ ;;
+ restart)
+ echo "Restarting $DESC: $NAME... "
+ stop
+ sleep 1
+ start
+ echo "done."
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac
+
+exit 0