编译安装 Memcached 之后为之写一个启动脚本

上一篇PHP 中使用 Memcached 作缓存(1)- Memcached 介绍和安装(telnet 测试)我们将了如何编译安装 Memcached,现在我们来写一个启动脚本,让其可以自动启动。

在 /etc/init.d/ 目录下新建 memcached 文件,并写入如下内容

#!/bin/sh 
# 
# Startup script for memcached 
# 
# processname: memcached 
# pidfile: /tmp/memcached.pid 
# logfile: /var/log/memcached/memcached_log
# memcached_home: /usr/share/memcached 
# chkconfig: 35 21 79 
# description: Start or stop memcached Service 

. /etc/rc.d/init.d/functions 

RETVAL=0 
 
prog="memcached" 
basedir=/usr/share/memcached
cmd=${basedir}/bin/memcached 
pidfile=/tmp/memcached.pid 

ip="192.168.1.8"            # 绑定侦听的IP地址 
port="11211"                    # 服务端口 
username="root"                 # 运行程序的用户身份 
max_memory=64                   # default: 64M | 最大使用内存 
max_connection=1024             # default: 1024 | 最大同时连接数 
 
start() { 
    echo -n $"Starting service: $prog" 
    $cmd -d -l$ip -p$port -u$username -m$max_memory -c$max_connection -P$pidfile 
    RETVAL=$?
    echo 
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog 
} 
 
stop() { 
    echo -n $"Stopping service: $prog  " 
    current_user=$(whoami)
    pidlist=$(ps -ef | grep $current_user | grep memcached | grep -v grep | awk '{print $2}') 
    for pid in $pidlist ; do 
        kill -9 $pid 
        if [ $? -ne 0 ]; then 
           return 1 
        fi 
    done 
    RETVAL=$? 
    echo 
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog 
} 
 
case "$1" in 
    start) 
        start 
        ;; 
    stop) 
        stop 
        ;; 
    restart) 
        stop 
        start 
        ;; 
    status) 
        status memcached 
        ;; 
    *) 
        echo "Usage: $0 {start|stop|restart|status}" 
        exit 1 
esac 
 
exit $RETVAL

保存文,退出编辑器。

然后我们安装启动脚本和设置服务的启动级别

chkconfig --add memcached 
chkconfig --level 35 memcached on

Post a Comment

Your email is never shared. Required fields are marked *

*
*