Ubuntu 18.04 Memcache 自启动服务脚本

服务器环境

  • CentOS 6.8

  • Memcached 1.5.13

新建服务脚本

  • 使用命令 sudo vi /etc/init.d/memcached/etc/init.d/ 下新建 memcached 文件,内容如下:

#!/bin/bash
# memcached  - This shell script takes care of starting and stopping memcached.
#
# chkconfig: - 90 10
# description: Memcache provides fast memory based storage.
# processname: memcached


memcached_path="/usr/local/memcached/bin/memcached"
memcached_pid="/var/run/memcached.pid"
memcached_memory="64"


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


[ -x $memcached_path ] || exit 0


RETVAL=0
prog="memcached"


# Start daemons.
start() {
    if [ -e $memcached_pid -a ! -z $memcached_pid ];then
        echo $prog" already running...."
        exit 1
    fi


    echo -n $"Starting $prog "
    # Single instance for all caches
    $memcached_path -m $memcached_memory -l 0.0.0.0 -p 11211 -u root -d -P $memcached_pid
    RETVAL=$?


    [ $RETVAL -eq 0 ] && {
        touch /var/lock/subsys/$prog
        success $"$prog"
    }
    echo
    return $RETVAL
}




# Stop daemons.
stop() {
    echo -n $"Stopping $prog "
    killproc -d 10 $memcached_path
    echo
    [ $RETVAL = 0 ] && rm -f $memcached_pid /var/lock/subsys/$prog


    RETVAL=$?


    return $RETVAL
}


# See how we were called.
case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        status)
            status $prog
            RETVAL=$?


            ;;
        restart)
            stop
            start
            ;;
        *)
            echo $"Usage: $0 {start|stop|status|restart}"
            exit 1
esac
exit $RETVAL

  • memcached_path="/usr/local/memcached/bin/memcached" 这里把后面的路径改成你 memcached 二进制文件的路径(一般就是 安装目录/bin/memcached )

  • memcached_memory="64" 设置 memcached 最大的使用内存,根据自己实际情况设置

  • 其他选项可以不改,如果需要改端口就把 $memcached_path -m $memcached_memory -l 0.0.0.0 -p 11211 -u root -d -P $memcached_pid 这里的 11211 改成自己想要的端口,记得放行防火墙对应端口

修改服务脚本权限

$ sudo chmod a+x /etc/init.d/memcached

添加至系统服务并设置自启动

$ sudo chkconfig --add memcached
$ sudo chkconfig memcached on

评论