#!/bin/sh # Description: 安裝memcached-1.4.36 SOFTWARE_DIR='/root/' # ERROR Output error_echo(){ printf "\033[31m $* \033[0m\n" } # 安裝memcached依賴包 memcached_package_install(){ cd ${SOFTWARE_DIR} && tar zxf libevent-2.1.8-stable.tar.gz -C /usr/src/ && cd /usr/src/libevent-2.1.8-stable/ && ./configure --prefix=/usr/local/libevent && make && make install cd ${SOFTWARE_DIR} && tar zxf libmemcached-1.0.18.tar.gz -C /usr/src/ && cd /usr/src/libmemcached-1.0.18/ && ./configure --prefix=/usr/local/libmemcached --with-memcached && make && make install } # 建立memcached用戶 memcached_user_create(){ groupadd memcached useradd -s /sbin/nologin -M -g memcached memcached mkdir -p /data/memcached/ chown -R memcached:memcached /data/memcached/ } # 安裝memcached memcached_install(){ cd ${SOFTWARE_DIR} && tar zxf memcached-1.4.36.tar.gz -C /usr/src/ && cd /usr/src/memcached-1.4.36/ ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent --enable-64bit --disable-docs && make && make install ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached } # 配置memcached memcached_config(){ cd ${SOFTWARE_DIR} \cp -r memcached.init /etc/init.d/memcached && dos2unix /etc/init.d/memcached chmod a+x /etc/init.d/memcached chkconfig --add redis && chkconfig --level 2345 redis on } main(){ memcached_package_install; memcached_install; memcached_config; if [ $? -eq 0 ]; then /etc/init.d/memcached start echo "memcached install successfully !!!" else error_echo "memcached install failed !!!" fi } main
#!/bin/sh # chkconfig: 2345 10 90 # Description: Start and Stop MemCached # Provides: memcached # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 NAME=memcache PORT=11211 USER=memcached MAXCONN=1024 CACHESIZE=512 OPTIONS="127.0.0.1" MEMCACHED="/usr/local/memcached/bin/memcached" PID="/data/memcached/memcache.pid" start() { if [ -e $PID -a ! -z $PID ];then echo $NAME "is already running..." exit 1 fi echo -n $"Starting $NAME " #$MEMCACHED -d -m $CACHESIZE -u $USER -l $OPTIONS -p $PORT -c $MAXCONN -P $PID $MEMCACHED -d -m $CACHESIZE -u $USER -p $PORT -c $MAXCONN -P $PID RETVAL=$? [ $RETVAL -eq 0 ] && { touch /var/lock/subsys/$NAME success $"$NAME" } echo return $RETVAL } stop(){ echo -n $"Stopping $NAME " if [ ! -r $PID ] ; then echo "" echo $NAME "is not running..." exit 1 fi kill -QUIT `cat $PID` success $"$NAME" echo [ $RETVAL = 0 ] && rm -f $PID /var/lock/subsys/$NAME RETVAL=$? return $RETVAL } case "$1" in start) start ;; stop) stop ;; status) status $NAME RETVAL=$? ;; restart) sleep 0.3 $0 stop sleep 1 $0 start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac exit $RETVAL