自用Redis启动脚本

#!/bin/sh

REDISPORT=6379
EXEC=/opt/redis-5.0.4/src/redis-server
CLIEXEC=/opt/redis-5.0.4/src/redis-cli
PIDFILE=/opt/redis-5.0.4/redis_${REDISPORT}.pid
CONF="/opt/redis-5.0.4/redis.conf"
PASSWORD=$(cat $CONF|grep '^\s*requirepass'|awk '{print $2}')

case "$1" in
    test)
        echo "$EXEC $CONF"
        echo "$CLIEXEC -a $PASSWORD -p $REDISPORT shutdown"
        ;;
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."

                # 关闭
                if [ -z $PASSWORD ]
                then
                    $CLIEXEC -p $REDISPORT shutdown
                else
                    $CLIEXEC -a $PASSWORD -p $REDISPORT shutdown
                fi

                # 判断是否关闭
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

原创文章 95 获赞 219 访问量 29万+

猜你喜欢

转载自blog.csdn.net/zimou5581/article/details/103068858