Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

This updated script allows easy manipulation of many cache instances.

/etc/init.d/memcached
#! /bin/sh
#
# chkconfig: - 55 45
# description:	The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/memcached
# pidfile: /var/run/memcached/memcached.pid

# Standard LSB functions
#. /lib/lsb/init-functions

# Source function library.
. /etc/init.d/functions

PORT=11211
USER=memcached
MAXCONN=1024
OPTIONS=""

if [ -f /etc/sysconfig/memcached ];then 
	. /etc/sysconfig/memcached
fi

# Check that networking is up.
. /etc/sysconfig/network

if [ "$NETWORKING" = "no" ]
then
	exit 0
fi

RETVAL=0
prog="memcached"

start_instance() {
	echo -n $"Starting $prog ($1): "
	daemon --pidfile /var/run/memcached/memcached.$1.pid memcached -d -p $PORT -u $USER  -m $2 -c $MAXCONN -P /var/run/memcached/memcached.$1.pid $OPTIONS
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached.$1
	PORT=`expr $PORT + 1`
}

stop_instance() {
	echo -n $"Stopping $prog ($1): "
	killproc -p /var/run/memcached/memcached.$1.pid /usr/bin/memcached
        RETVAL=$?
        echo
	if [ $RETVAL -eq 0 ] ; then
            rm -f /var/lock/subsys/memcached.$1
            rm -f /var/run/memcached.$1.pid
        fi
}

start () {
	# insure that /var/run/memcached has proper permissions
	if [ "`stat -c %U /var/run/memcached`" != "$USER" ]; then
		chown $USER /var/run/memcached
	fi

	start_instance default 64;
	start_instance block 16;
	start_instance content 128;
	start_instance filter 128;
	start_instance form 32;
	start_instance menu 16;
	start_instance page 8;
	start_instance update 8;
	start_instance views 8;
}
stop () {
      	stop_instance default;
        stop_instance block;
        stop_instance content;
        stop_instance filter;
        stop_instance form;
        stop_instance menu;
        stop_instance page;
        stop_instance update;
        stop_instance views;
}

restart () {
        stop
        start
}


# See how we were called.
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  status)
	status memcached
	;;
  restart|reload|force-reload)
	restart
	;;
  *)
	echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"
	exit 1
esac

exit $?
  • No labels