redis服务启动关闭脚本

# chkconfig: 2345 90 10
# description: service of redis for start and stop add by tomener
  
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli
 
PIDFILE=/var/run/redis.pid   
CONF="/usr/local/redis/redis.conf"
AUTH="1234"

case "$1" in   
        start)   
                if [ -f $PIDFILE ]   
                then   
                        echo "$PIDFILE exists, process is already running or crashed."  
                else  
                        echo "Starting Redis server..."  
                        $EXEC $CONF   
                fi   
                if [ "$?"="0" ]   
                then   
                        echo "Redis is running..."  
                fi   
                ;;   
        stop)   
                if [ ! -f $PIDFILE ]   
                then   
                        echo "$PIDFILE exists, process is not running."  
                else  
                        PID=$(cat $PIDFILE)   
                        echo "Stopping..."  
                       $REDIS_CLI -p $REDISPORT  SHUTDOWN    
                        sleep 2  
                       while [ -x $PIDFILE ]   
                       do  
                                echo "Waiting for Redis to shutdown..."  
                               sleep 1  
                        done   
                        echo "Redis stopped"  
                fi   
                ;;   
        restart|force-reload)   
                ${0} stop   
                ${0} start   
                ;;   
        *)   
               echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
                exit 1  
esac

 

 

 

加入服务,并开机自启动

[root@localhost202 redis-2.8.19]# vim /etc/init.d/redis

加入如下脚本,新浪博客不好贴出来,我就贴到我们的cnblogs供大家使用

http://www.cnblogs.com/whendream/p/4228768.html

把里面的代码复制到redis里面

[root@localhost202 redis-2.8.19]# chmod 0755 /etc/init.d/redis

测试一下

[root@localhost202 redis-2.8.19]# /etc/init.d/redis start

加入Linux服务

[root@localhost202 redis-2.8.19]# chkconfig --add redis

设置开机自启动

[root@localhost202 redis-2.8.19]# chkconfig --level 235 redis on

加入服务之后我们就可以用熟悉的命令来开启、关闭、重启redis了

[root@localhost202 redis-2.8.19]# service redis start|stop|restart

 

 

---------------------

http://www.169it.com/it-redis/article-Redis-%E4%B8%8B%E8%BD%BD-356075834454562844

(1)配置init脚本:
wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-server
wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf
sudo mv redis-server /etc/init.d/redis-server
sudo chmod +x /etc/init.d/redis-server
sudo mv redis.conf /etc/redis.conf

(2)初始化用户和日志路径
sudo useradd redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
sudo chown redis.redis /var/lib/redis
sudo chown redis.redis /var/log/redis
(3)将redis加入自启动服务
sudo chkconfig --add /etc/init.d/redis-server
sudo chkconfig redis-server --level 345 on
使用chkconfig --list查看添加的服务

(4)启动服务
sudo service redis-server start

 

 

#!/bin/sh  
#  
# redis - this script starts and stops the redis-server daemon  
#  
# chkconfig:   - 85 15  
# description:  Redis is a persistent key-value database  
# processname: redis-server  
# config:      /etc/redis.conf  
# config:      /etc/sysconfig/redis  
# pidfile:     /var/run/redis.pid  
   
# Source function library.  
. /etc/rc.d/init.d/functions  
   
# Source networking configuration.  
. /etc/sysconfig/network  
   
# Check that networking is up.  
[ "$NETWORKING" = "no" ] && exit 0  
   
redis="/usr/local/bin/redis-server"  
prog=$(basename $redis)  
   
REDIS_CONF_FILE="/etc/redis.conf"  
   
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis  
   
lockfile=/var/lock/subsys/redis  
   
start() {  
    [ -x $redis ] || exit 5  
    [ -f $REDIS_CONF_FILE ] || exit 6  
    echo -n $"Starting $prog: "  
    daemon $redis $REDIS_CONF_FILE  
    retval=$?  
    echo  
    [ $retval -eq 0 ] && touch $lockfile  
    return $retval  
}  
   
stop() {  
    echo -n $"Stopping $prog: "  
    killproc $prog -QUIT  
    retval=$?  
    echo  
    [ $retval -eq 0 ] && rm -f $lockfile  
    return $retval  
}  
   
restart() {  
    stop  
    start  
}  
   
reload() {  
    echo -n $"Reloading $prog: "  
    killproc $redis -HUP  
    RETVAL=$?  
    echo  
}  
   
force_reload() {  
    restart  
}  
   
rh_status() {  
    status $prog  
}  
   
rh_status_q() {  
    rh_status >/dev/null 2>&1  
}  
   
case "$1" in  
    start)  
        rh_status_q && exit 0  
        $1  
        ;;  
    stop)  
        rh_status_q || exit 0  
        $1  
        ;;  
    restart|configtest)  
        $1  
        ;;  
    reload)  
        rh_status_q || exit 7  
        $1  
        ;;  
    force-reload)  
        force_reload  
        ;;  
    status)  
        rh_status  
        ;;  
    condrestart|try-restart)  
        rh_status_q || exit 0  
        ;;  
    *)  
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"  
        exit 2  
esac

 

 

#! /bin/sh
### BEGIN INIT INFO
# Provides:        redis-server
# Required-Start:    $syslog
# Required-Stop:    $syslog
# Should-Start:        $local_fs
# Should-Stop:        $local_fs
# Default-Start:    2 3 4 5
# Default-Stop:        0 1 6
# Short-Description:    redis-server - Persistent key-value db
# Description:        redis-server - Persistent key-value db
### END INIT INFO


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/redis-server
DAEMON_ARGS=/etc/redis.conf
NAME=redis-server
DESC=redis-server
PIDFILE=/var/run/redis.pid

test -x $DAEMON || exit 0
test -x $DAEMONBOOTSTRAP || exit 0

set -e

case "$1" in
  start)
    echo -n "Starting $DESC: "
    touch $PIDFILE
    chown redis:redis $PIDFILE
    if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON --background -- $DAEMON_ARGS
    then
        echo "$NAME."
    else
        echo "failed"
    fi
    ;;
  stop)
    echo -n "Stopping $DESC: "
    if start-stop-daemon --stop --retry 10 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
    then
        echo "$NAME."
    else
        echo "failed"
    fi
    rm -f $PIDFILE
    ;;

  restart|force-reload)
    ${0} stop
    ${0} start
    ;;
  *)
    echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0

 

posted @ 2015-07-28 15:11  antball  阅读(480)  评论(0编辑  收藏  举报