redis自定义使用start|stop|restart来停止和启动redis服务

我的redis的目录是在/usr/local/redis/redis

启动要在 /usr/local/redis/redis目录操作start  停止:stop 重启:restart

下面是需要在/etc/init.d 目录下面创建一个redis文件,touch redis ,然后修改redis的对外权限访问,chmod a+x /etc/init.d/redis

下面是提供start|stop|restart 服务的脚本,拷贝到redis文件里面

 #!/src/bash
#chkconfig: 2345 55 25
#description: Starts,stops and restart the redis-server
#Ver:1.1  
#Write by ND chengh(200808)
#usage: ./script_name -p [port] {start|stop|status|restart}

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

# Source networking configuration.
. /etc/sysconfig/network

# Check networking is up.
[ "$NETWORKING" = "no" ] && exit 0

RETVAL=0
REDIS_PORT=6379
PID=

if [ "$1" = "-p" ]; then
    REDIS_PORT=$2
    shift 2
fi

REDIS_DIR="/usr/local/redis/redis"
REDIS="${REDIS_DIR}/src/redis-server"
PROG=$(basename $REDIS)

CONF="${REDIS_DIR}/redis-${REDIS_PORT}.conf"

if [ ! -f $CONF ]; then
   if [ -f "${REDIS_DIR}/redis.conf" ];then
      CONF="${REDIS_DIR}/redis.conf"
   else
      echo -n $"$CONF not exist.";warning;echo
      exit 1
   fi
fi

PID_FILE=`grep "pidfile" ${CONF}|cut -d ' ' -f2`
PID_FILE=${PID_FILE:=/var/run/redis.pid}
LOCKFILE="/var/lock/subsys/redis-${REDIS_PORT}"

if [ ! -x $REDIS ]; then
    echo -n $"$REDIS not exist.";warning;echo
    exit 0
fi


start() {

    echo -n $"Starting $PROG: "
    $REDIS $CONF
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        success;echo;touch $LOCKFILE
    else
        failure;echo
    fi
    return $RETVAL

}

stop() {

    echo -n $"Stopping $PROG: "

    if [ -f $PID_FILE ] ;then
       read PID <  "$PID_FILE"
    else
       failure;echo;
       echo -n $"$PID_FILE not found.";failure;echo
       return 1;
    fi

    if checkpid $PID; then
     kill -TERM $PID >/dev/null 2>&1
        RETVAL=$?
        if [ $RETVAL -eq 0 ] ;then
                success;echo
                echo -n "Waiting for Redis to shutdown .."
         while checkpid $PID;do
                 echo -n "."
                 sleep 1;
                done
                success;echo;rm -f $LOCKFILE
        else
                failure;echo
        fi
    else
        echo -n $"Redis is dead and $PID_FILE exists.";failure;echo
        RETVAL=7
    fi    
    return $RETVAL

}

restart() {
    stop
    start
}

rhstatus() {
    status -p ${PID_FILE} $PROG
}

hid_status() {
    rhstatus >/dev/null 2>&1
}

case "$1" in
    start)
        hid_status && exit 0
        start
        ;;
    stop)
        rhstatus || exit 0
        stop
        ;;
    restart)
        restart
        ;;
    status)
        rhstatus
        RETVAL=$?
        ;;
    *)
        echo $"Usage: $0 -p [port] {start|stop|status|restart}"
        RETVAL=1
esac

exit $RETVAL

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis是一种高性能的键值存储系统,它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。在Linux系统下,可以通过以下步骤安装、启动停止Redis,并将其做成服务。 安装Redis: 1.打开终端,使用以下命令安装Redis: sudo apt-get install redis-server 2.Redis安装完成后,可以使用以下命令检查其版本信息: redis-server --version 启动Redis: 1.打开终端,使用以下命令启动Redisredis-server 2.如果需要以后台方式运行Redis,则可以使用以下命令: redis-server --daemonize yes 停止Redis: 1.打开终端,使用以下命令停止Redisredis-cli shutdown 2.如果Redis以后台方式运行,则可以使用以下命令停止它: redis-cli shutdown save 将Redis做成服务: 1.打开终端,使用以下命令创建Redis服务脚本: sudo nano /etc/init.d/redis_6379 2.在编辑器中输入以下内容: #!/bin/sh #### BEGIN INIT INFO # Provides: redis_6379 # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Redis data structure server # Description: Redis data structure server. See https://redis.io ### END INIT INFO # Author: Redis Labs, Inc. <support@redislabs.com> NAME=redis-server DAEMON=/usr/bin/$NAME DESC=redis-server PIDFILE=/var/run/redis_6379.pid CONFIG="/etc/redis/6379.conf" test -x $DAEMON || exit 0 . /lib/lsb/init-functions set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile $PIDFILE \ --exec $DAEMON -- $CONFIG echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile $PIDFILE \ --exec $DAEMON echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ $PIDFILE --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile \ $PIDFILE --exec $DAEMON -- $CONFIG echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 3.保存文件并退出编辑器。 4.使用以下命令使服务脚本可执行: sudo chmod +x /etc/init.d/redis_6379 5.使用以下命令注册服务: sudo update-rc.d redis_6379 defaults 6.使用以下命令启动服务: sudo service redis_6379 start 7.使用以下命令停止服务: sudo service redis_6379 stop 通过以上步骤,Redis会自动启动停止,并且可以作为服务运行。这样可以极大地方便Redis的管理和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值