Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # squid This shell script takes care of starting and stopping
- # Squid Internet Object Cache
- #
- # chkconfig: 345 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
- ### BEGIN INIT INFO
- # Provides: squid
- # Required-Start: $network
- # Required-Stop: $network
- # Should-Start: $named icapd
- # Should-Stop: $named
- # Default-Start: $named
- # Default-Stop: $named
- # Short-Description: Starts the squid daemon
- # Description: Squid is a full-featured web proxy cache with support for \
- # many protocols, cache hierarchies, transparent proxy and \
- # many other features.
- #
- ### END INIT INFO
- ulimit -n 8192
- 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 /etc/squid/squid.conf ] || exit 0
- if [ -f /etc/sysconfig/squid ]; then
- . /etc/sysconfig/squid
- fi
- # don't raise an error if the config file is incomplete
- # set defaults instead:
- SQUID_OPTS=${SQUID_OPTS:-""}
- SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
- SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
- # determine the name of the squid binary
- [ -f /usr/sbin/squid ] && SQUID=squid
- [ -z "$SQUID" ] && exit 0
- prog="$SQUID"
- # determine which one is the cache_swap directory
- CACHE_SWAP=`sed -e 's/#.*//g' /etc/squid/squid.conf | \
- grep cache_dir | awk '{ print $3 }'`
- [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/var/spool/squid
- RETVAL=0
- start() {
- # taken from udev
- case "$(uname -r)" in
- 2.[012345].*)
- gprintf "squid requires a 2.6.x kernel (with epoll support). "
- failure; echo
- exit 1
- ;;
- esac
- if [ ! -d $adir/00 ]; then
- gprintf "init_cache_dir %s... " "$adir"
- $SQUID -z -F >> /var/log/squid/squid.out 2>&1
- fi
- gprintf "Starting %s: " "$prog"
- $SQUID $SQUID_OPTS >> /var/log/squid/squid.out 2>&1
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- timeout=0;
- while : ; do
- [ ! -f /var/run/squid.pid ] || break
- if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; then
- RETVAL=1
- break
- fi
- sleep 1 && gprintf "."
- timeout=$((timeout+1))
- done
- fi
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID
- [ $RETVAL -eq 0 ] && success
- [ $RETVAL -ne 0 ] && failure
- echo
- return $RETVAL
- }
- stop() {
- gprintf "Stopping %s: " "$prog"
- $SQUID -k check >> /var/log/squid/squid.out 2>&1
- RETVAL=$?
- if [ $RETVAL -eq 0 ] ; then
- $SQUID -k shutdown &
- rm -f /var/lock/subsys/$SQUID
- timeout=0
- while : ; do
- [ -f /var/run/squid.pid ] || break
- if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then
- echo
- return 1
- fi
- sleep 2 && gprintf "."
- timeout=$((timeout+2))
- done
- success; echo
- else
- failure; echo
- fi
- return $RETVAL
- }
- reload() {
- $SQUID $SQUID_OPTS -k reconfigure
- }
- restart() {
- stop
- start
- }
- condrestart() {
- [ -e /var/lock/subsys/squid ] && restart || :
- }
- rhstatus() {
- status $SQUID
- $SQUID -k check
- }
- probe() {
- return 0
- }
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- reload)
- reload
- ;;
- restart)
- restart
- ;;
- condrestart)
- condrestart
- ;;
- status)
- rhstatus
- ;;
- probe)
- exit 0
- ;;
- *)
- gprintf "Usage: %s {start|stop|status|reload|restart|condrestart}\n" "$0"
- exit 1
- esac
- exit $?
Advertisement
Add Comment
Please, Sign In to add comment