OS: RedHat 7.1
Squid/2.4.STABLE2
I use the following script to start Squid, but I found that I cannot stop or
restart squid...
it seems that RunCache restart itself, what wrong?
Anybody got better script than the my one?
Regards,
Chris Lee
Encl.
#!/bin/bash
# squid         This shell script takes care of starting and stopping
#               Squid Internet Object Cache
#
# chkconfig: - 90 25
# description: Squid - Internet Object Cache. Internet object caching is \
#       a way to store requested Internet objects (i.e., data available \
#       via the HTTP, FTP, and gopher protocols) on a system closer to the \
#       requesting site than to the source. Web browsers can then use the \
#       local Squid cache as a proxy HTTP server, reducing access time as \
#       well as bandwidth consumption.
# pidfile: /usr/local/squid/logs/squid.pid
# config: /usr/local/squid/etc/squid.conf
PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# check if the squid conf file is present
[ -f /usr/local/squid/etc/squid.conf ] || exit 0
if [ -f /etc/sysconfig/squid ]; then
  . /etc/sysconfig/squid
else
#  SQUID_OPTS="-D"
  SQUID_SHUTDOWN_TIMEOUT=100
fi
# determine the name of the squid binary
[ -f /usr/local/squid/bin/squid ] && SQUID=squid
[ -z "$SQUID" ] && exit 0
prog="$SQUID"
# determine which one is the cache_swap directory
CACHE_SWAP=`sed -e 's/#.*//g' /usr/local/squid/etc/squid.conf | \
        grep cache_dir |  awk '{ print $3 }'`
[ -z "$CACHE_SWAP" ] && CACHE_SWAP=/usr/local/squid/spool
RETVAL=0
start() {
    echo -n $"Starting $prog: "
    /usr/local/squid/bin/RunCache $SQUID_OPTS 2> /dev/null &
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID
    [ $RETVAL -eq 0 ] && echo_success
    [ $RETVAL -ne 0 ] && echo_failure
    echo
    return $RETVAL
}
stop() {
    echo -n  $"Stopping $prog: "
    /usr/local/squid/bin/squid -k check >/dev/null 2>&1
    RETVAL=$?
    if [ $RETVAL -eq 0 ] ; then
        /usr/local/squid/bin/squid -k shutdown &
        rm -f /var/lock/subsys/$SQUID
        timeout=0
        while : ; do
                [ -f /usr/local/squid/logs/squid.pid ] || break
                if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then
                    echo
                    return 1
                fi
                sleep 2 && echo -n "."
                timeout=$((timeout+2))
        done
        echo_success
        echo
    else
        echo_failure
        echo
    fi
    return $RETVAL
}
reload() {
    $SQUID $SQUID_OPTS -k reconfigure
}
restart() {
    stop
    start
}
condrestart() {
    [ -e /var/lock/subsys/squid ] && restart || :
}
rhstatus() {
    status $SQUID
    /usr/local/squid/bin/squid -k check
}
probe() {
    return 0
}
case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
reload)
    reload
    ;;
restart)
    restart
    ;;
condrestart)
    condrestart
    ;;
status)
    rhstatus
    ;;
probe)
    exit 0
    ;;
*)
Received on Mon Sep 24 2001 - 00:49:03 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 17:02:28 MST