Replacement init script for memcached on CentOS 5
This script is obsolete for current releases of the Drupal Memcache module. The overall memcached size per server is now the only parameter requiring tuning.
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 $?