[zopeorg-checkins] CVS: NZO_SiteLayout/bin - squidctl.in:1.2

Chris McDonough chrism at zope.com
Thu May 2 01:18:56 EDT 2002


Update of /cvs-zopeorg/NZO_SiteLayout/bin
In directory cvs.zope.org:/tmp/cvs-serv3569/bin

Modified Files:
	squidctl.in 
Log Message:
Changes to make Squid work.


=== NZO_SiteLayout/bin/squidctl.in 1.1.1.1 => 1.2 ===
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE
+#
+##############################################################################
+
+# squidctl -- a script to manage a squid server suitable in rc scripts
+# by Chris McDonough (chrism at zope.com)
+
+ETCDIR=%ETCDIR%
+BINDIR=%BINDIR%
+VARDIR=%VARDIR%
+LOGDIR=%LOGDIR%
+
+# check if the squid conf file is present
+[ -f $ETCDIR/squid.conf ] || exit 1
+
+# determine the name of the squid binary
+[ -f $BINDIR/squid ] && SQUID=$BINDIR/squid
+
+# find the cache_dir
+confline=`grep ^cache_dir $ETCDIR/squid.conf`
+#echo "confline is $confline"
+if [ -n "$confline" ]
+  then
+     CACHE_SWAP=`echo $confline|cut --delimiter=" " --fields=3`;
+  else
+     CACHE_SWAP=$VARDIR/cache;
+fi
+
+# find the pid filename
+confline=`grep ^pid_filename $ETCDIR/squid.conf`;
+if [ -n "$confline" ]
+  then
+     PID_FILENAME=`echo $confline|cut --delimiter=" " --fields=2`;
+  else
+     PID_FILENAME=$VARDIR/squid.pid;
+fi
+
+# find the cache.log filename
+confline=`grep ^cache_log $ETCDIR/squid.conf`;
+if [ -n "$confline" ]
+  then
+     CACHELOG_FILENAME=`echo $confline|cut --delimiter=" " --fields=2`;
+  else
+     CACHELOG_FILENAME=$LOGDIR/cache.log;
+fi
+
+SQUID_OPTS="-f %ETCDIR%/squid.conf"
+RETVAL=0
+
+case "$1" in
+
+start)
+  # make cache_dir if it doesn't exist
+  if [ ! -d $CACHE_SWAP/00 ]; then 
+      echo -n "Initializing squid cache_dir $CACHE_SWAP... "
+      $SQUID $SQUID_OPTS -z -F 2>/dev/null
+  fi
+    
+  # start squid
+  WESTARTED=0
+  $SQUID $SQUID_OPTS &
+  RETVAL=$?
+  if [ $RETVAL -eq 0 ]; then
+    for dummy in 0 1 2 3 4 5 6 7 8 9; do
+      if [ -f $PID_FILENAME ]; then
+        break
+      else
+        echo -n "."; sleep 2
+      fi
+    done
+  else
+   echo "Start failed: error code $RETVAL"
+   break
+  fi
+
+  if [ -f $PID_FILENAME ]; then
+   echo "Started"
+  else
+   echo "Start failed: check $CACHELOG_FILENAME"
+  fi
+
+  ;;
+
+stop)
+  if [ ! -f $PID_FILENAME ]; then
+    echo "Could not stop (no pidfile $PID_FILENAME, no running copy?)"
+    exit 1
+  fi
+  $SQUID $SQUID_OPTS -k shutdown &
+  RETVAL=$?
+  if [ $RETVAL -eq 0 ] ; then
+    for dummy in 0 1 2 3 4 5 6 7 8 9; do
+      if [ -f $PID_FILENAME ]; then
+        echo -n "."; sleep 2
+      else
+        break
+      fi
+    done
+  else
+    echo "Error stopping: $RETVAL"
+  fi
+
+  if [ ! -f $PID_FILENAME ]; then
+   echo "Stopped"
+  else
+   echo "Stop failed: check $CACHELOG_FILENAME"
+  fi
+  ;;
+
+reload)
+  $SQUID $SQUID_OPTS -k reconfigure
+  exit $?
+  ;;
+
+rotate)
+  $SQUID $SQUID_OPTS -k rotate
+  exit $?
+  ;;
+
+restart)
+  $0 stop
+  $0 start
+  ;;
+
+*)
+echo "Usage: $0 {start|stop|reload|restart|rotate}"
+exit 1
+esac
+
+exit $RETVAL






More information about the zopeorg-checkins mailing list