当前位置: 首页 > article >正文

编写Redis开机自启动脚本

1、创建脚本文件

touch /etc/init.d/redis.sh

2、添加启动脚本内容

首先执行

vi /etc/init.d/redis.sh

将以下内容添加到redis.sh文件中:

#!/bin/bash
 #chkconfig: 22345 10 90
 #description: Start and Stop redisREDISPORT=6379
 EXEC=/usr/local/redis/bin/redis-server
 CLIEXEC=/usr/local/redis/bin/redis-cli
 PIDFILE=/var/run/redis_6379.pid
 CONF="/usr/local/redis/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 -p $REDISPORT shutdown
             while [ -x /proc/${PID} ]
                 do
                     echo "Waiting for Redis to shutdown..."
                     sleep 1
                 done
                 echo "Redis stopped"
         fi
         ;;
     restart)
         "$0" stop
         sleep 3
         "$0" start
         ;;
     *)
         echo "Please use start or stop or restart as first argument"
         ;;
 esac

3、设置脚本权限

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

4、创建启动链接

ln -s /etc/init.d/redis.sh /etc/rc.d/

5、添加到开机启动服务

chkconfig --add redis.sh

6、设置开启自启动

chkconfig redis.sh on

7、启动Redis服务

service redis.sh start

8、验证开启自启动

首先重启电脑,再执行如下命令

ps aux|grep redis

 显示如下界面

说明设置成功

9、创建 redis 用户和组

查看配置文件权限:

ls -l /path/to/redis.conf

确保 Redis 用户(通常为 redis)有读取权限

修复权限:

sudo chown redis:redis /path/to/redis.conf
sudo chmod 644 /path/to/redis.conf

如果系统中没有 redis 用户和组,需要手动创建。

创建用户和组

sudo groupadd redis
sudo useradd -r -g redis -s /bin/false redis

-r:创建系统用户。

-g redis:指定用户的主组为 redis

-s /bin/false:禁止用户登录。

运行以下命令,确认用户和组已创建:

id redis

输出示例:

设置权限

sudo chown -R redis:redis /var/lib/redis

 


http://www.kler.cn/a/563361.html

相关文章:

  • 小米电机CyberGear STM32HAL 使用指南
  • day7作业
  • DeepSeek推出DeepEP:首个开源EP通信库,让MoE模型训练与推理起飞!
  • python的Tkinter小程序上传Excel并下载Text
  • 虚拟机 | Ubuntu 安装流程以及界面太小问题解决
  • QT5框架中对sqlquery.exec(“SQL语句“)的返回值存在误解
  • 电商API接口设计:商品、订单与支付模块的微服务拆分实践
  • YOLOv12 ——基于卷积神经网络的快速推理速度与注意力机制带来的增强性能结合
  • excel单、双字节字符转换函数(中英文输入法符号转换)
  • 【网络】TCP vs UDP详解( 含python代码实现)
  • 从零到一:实现 Changesets 自动化发版全流程
  • PHP女程序猿学习Java的Day-10
  • Matplotlib 绘图标记
  • Deepseek+RAGFLOW部署教程
  • 使用PHP接入纯真IP库:实现IP地址地理位置查询
  • Flink JobManager不稳定的典型情景
  • Unity基础——资源导出分享为Unity Package
  • 设计模式之策略模式(Strategy Pattern)
  • LeetCode 热题 100 子串章节
  • AI DEV 人工智能能做的工作,在开发运维安全方面以及企业成本降低方面所起的作用和相应的提示词。