centos下redis开机自启动

极客小桑Redis系列讲解
1.centos7 redis-sentinel哨兵模式搭建

前言

  上个博客讲解了centos下redis-sentinel哨兵模式的搭建,本次来说一下如何实现redis服务开机自启动

一、创建脚本

1.在/etc/init.d目录下创建 myredis.sh脚本

#!/bin/sh
# chkconfig:  2345 90 10
# description:  Redis is a persistent key-value database
#启动命令位置
EXEC=/root/redis-6.2.5/bin/redis-server
#pid文件位置,可查看conf文件确认
PIDFILE=/var/run/redis_6379.pid
#客户端命令位置
CLIEXEC=/root/redis-6.2.5/bin/redis-cli
#因为采用bindIP方式,这里要制定HOST
HOST="192.168.45.47"
REDISPORT="6379"
CONF="/root/redis-6.2.5/etc/redis.conf"
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;;
    stop)
    if [ ! -f $PIDFILE ]
       then echo "$PIDFILE does not exist, process is not running"
    else PID=$(cat $PIDFILE)
         echo "Stopping ..."
         #执行关闭命令
         $CLIEXEC -h $HOST  -p $REDISPORT shutdown
         while [ -x /proc/${PID} ]
           do
             echo "Waiting for Redis to shutdown ..."
             sleep 1
           done
         echo "Redis stopped"
    fi;;
    status)
    PID=$(cat $PIDFILE)
    if [ ! -x /proc/${PID} ]
       then echo 'Redis is not running'
       else echo "Redis is running ($PID)"
    fi;;
    restart)
    $0 stop
    $0 start
    ;;
  *) echo "Please use start, stop, restart or status as first argument";;
esac

这里采用bash脚本的case语法进行创建
2.增加可执行权限

chmod +x /etc/init.d/myredis.sh

3.测试验证
3.1测试redis服务是否存在

./myredis.sh status

在这里插入图片描述

3.2关闭redis服务

 ./myredis.sh stop

在这里插入图片描述

3.3启动redis服务

./myredis.sh start

在这里插入图片描述

二、添加开机自启动服务

为了让服务看上去更合规一点,将myredis.sh改名成myredis

mv /etc/init.d/myredis.sh /etc/init.d/myredis
chkconfig --add myredis

注:当执行chkconfig --add myredis如果报错的话,

service myredis does not support chkconfig

脚本中需要添加:

# chkconfig:  2345 90 10
# description:  Redis is a persistent key-value database

三.显示服务列表

chkconfig --list

如果看到myredis的服务如上图所示2,3,4,5都是开的话则成功,默认级别是2345
在这里插入图片描述

如果是关,则键入命令开启

chkconfig --level 2345 myredis on

四、将脚本拷贝到另外两台节点,并相同操作

scp root@192.168.45.47:/etc/init.d/myredis /etc/init.d/myredis
#要更改myredis中的host为各自的ip

五、chkconfig相关说明

  运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
不同的运行级定义如下:(可以参考Linux里面的/etc/inittab)

–add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据;
–del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据;
–level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。

等级代号列表:

等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动

需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值