squid源码安装的服务启动脚本
[*]#!/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: /var/run/squid.pid
[*]# config: /etc/squid/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
[*]
[*]# don't raise an error if the config file is incomplete
[*]# set defaults instead:
[*]SQUID_OPTS=${SQUID_OPTS:-"-D"}
[*]SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
[*]SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
[*]
[*]# determine the name of the squid binary
[*][ -f /usr/local/squid/sbin/squid ] && SQUID=/usr/local/squid/sbin/squid && SQUID_id=squid
[*]
[*]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/var/cache
[*]
[*]RETVAL=0
[*]
[*]start() {
[*] #check if the squid conf file is present
[*] if [ ! -f /usr/local/squid/etc/squid.conf ]; then
[*] echo "Configuration file /usr/local/squid/etc/squid.conf missing" 1>&2
[*] exit 6
[*] fi
[*] . /etc/sysconfig/squid
[*]
[*] # don't raise an error if the config file is incomplete.
[*] # set defaults instead:
[*] SQUID_OPTS=${SQUID_OPTS:-"-D"}
[*] SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
[*] SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
[*] if [ -z "$SQUID" ]; then
[*] echo "Insufficient privilege" 1>&2
[*] exit 4
[*] fi
[*] for adir in $CACHE_SWAP; do
[*] if [ ! -d $adir/00 ]; then
[*] echo -n "init_cache_dir $adir... "
[*] $SQUID -z -F -D >> /usr/local/squid/var/logs/squid.out 2>&1
[*] fi
[*] done
[*] echo -n $"Starting $prog: "
[*] $SQUID $SQUID_OPTS >> /usr/local/squid/var/logs/squid.out 2>&1
[*] RETVAL=$?
[*] if [ $RETVAL -eq 0 ]; then
[*] timeout=0;
[*] while : ; do
[*] [ ! -f /usr/local/squid/var/run/squid.pid ] || break
[*] if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; then
[*] RETVAL=1
[*] break
[*] fi
[*] sleep 1 && echo -n "."
[*] timeout=$((timeout+1))
[*] done
[*] fi
[*] [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID_uid
[*] [ $RETVAL -eq 0 ] && echo_success
[*] [ $RETVAL -ne 0 ] && echo_failure
[*] echo
[*] return $RETVAL
[*]}
[*]
[*]stop() {
[*] . /etc/sysconfig/squid
[*] # don't raise an error if the config file is incomplete.
[*] # set defaults instead:
[*] SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
[*] echo -n$"Stopping $prog: "
[*] $SQUID -k check >> /usr/local/squid/var/logs/squid.out 2>&1
[*] RETVAL=$?
[*] if [ $RETVAL -eq 0 ] ; then
[*] $SQUID -k shutdown &
[*] rm -f /var/lock/subsys/$SQUID_id
[*] timeout=0
[*] while : ; do
[*] [ -f /usr/local/squid/var/run/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
[*] if [ ! -e /var/lock/subsys/$SQUID_id ]; then
[*] RETVAL=0
[*] fi
[*] echo
[*] fi
[*] return $RETVAL
[*]}
[*]
[*]reload() {
[*] . /etc/sysconfig/squid
[*] # don't raise an error if the config file is incomplete.
[*] # set defaults instead:
[*] SQUID_OPTS=${SQUID_OPTS:-"-D"}
[*]
[*] $SQUID $SQUID_OPTS -k reconfigure
[*]}
[*]
[*]restart() {
[*] stop
[*] start
[*]}
[*]
[*]condrestart() {
[*] [ -e /var/lock/subsys/squid_id ] && restart || :
[*]}
[*]
[*]rhstatus() {
[*] status $SQUID_id && $SQUID -k check
[*]}
[*]
[*]probe() {
[*] return 0
[*]}
[*]
[*]case "$1" in
[*]start)
[*] start
[*] ;;
[*]
[*]stop)
[*] stop
[*] ;;
[*]
[*]reload)
[*] reload
[*] ;;
[*]
[*]restart)
[*] restart
[*] ;;
[*]
[*]condrestart)
[*] condrestart
[*] ;;
[*]
[*]status)
[*] rhstatus
[*] ;;
[*]
[*]probe)
[*] exit 0
[*] ;;
[*]
[*]*)
[*] echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
[*] exit 2
[*]esac
[*]
[*]exit $?
页:
[1]