Redis启停脚本

2024-06-21 16:04
文章标签 redis 脚本 启停

本文主要是介绍Redis启停脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1.概述
  • 2.Redis自带脚本
  • 3.Redis安装
  • 4.修改Redis默认脚本
  • 5.注册为Service
    • 检验脚本/etc/init.d/redis-server
    • 脚本添加执行权限
    • 添加到redis-server服务
    • 启用redis-server服务
  • 6.功能验证
    • 启动服务
    • 服务状态
    • 重启服务
    • 停止服务

1.概述

解决部分老系统,如Centos6上启停Redis服务的问题。

2.Redis自带脚本

  • Redis安装包下载
wget http://download.redis.io/releases/redis-6.2.9.tar.gz
  • 脚本存放在解压后安装包路径下utils目录中,redis_init_script与redis_init_script.tpl两个文件
[root@centos utils]# pwd
# 请将/home/redis-6.2.9替换为安装包解压路径
/home/redis-6.2.9/utils
# 查看服务管理脚本
[root@centos utils]# ll redis_init_script*
-rwxrwxr-x 1 root root 1352 519 14:12 redis_init_script
-rwxrwxr-x 1 root root 1047 519 14:12 redis_init_script.tpl

3.Redis安装

参见我另一篇笔记: Redis单例部署

4.修改Redis默认脚本

vim /etc/init.d/redis-server
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.### BEGIN INIT INFO
# Provides:     redis_6379
# 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# 服务主目录
REDIS_HOME=/usr/local/redis
# 服务端口
REDISPORT=6379
# 服务端程序路径
EXEC=${REDIS_HOME}/bin/redis-server
# 客户端程序路径
CLIEXEC=${REDIS_HOME}/bin/redis-cli# PID文件路径,注意与redis.conf配置文件中保持一致
PIDFILE=/var/run/redis/redis_${REDISPORT}.pid
# 配置文件路径
CONF="${REDIS_HOME}/redis.conf"# 定义运行服务的普通用户,需要提前创建
USER="redis"
#if [ `whoami` != "${USER}" ]; then
#        exec su - "${USER}"
#fi
# 定义sudo命令
CMD="/usr/bin/sudo -u ${USER}"case "$1" in# 启动服务start)if [ -f $PIDFILE ]thenecho "$PIDFILE exists, process is already running or crashed"elseecho "Starting Redis server..."# 使用普通用户启动服务exec $CMD $EXEC $CONFfi;;# 停止服务stop)if [ ! -f $PIDFILE ]thenecho "$PIDFILE does not exist, process is not running"elsePID=$(cat $PIDFILE)echo "Stopping ..."#$CLIEXEC -p $REDISPORT shutdown# 因为Redis设置了密码,所以修改停止服务命令。/bin/kill -s TERM ${PID}while [ -x /proc/${PID} ]doecho "Waiting for Redis to shutdown ..."sleep 1done/bin/rm -rf $PIDFILEecho "Redis stopped"fi;;# 服务状态status)if [ ! -f $PIDFILE ]thenecho 'Redis is not running'elsePID=$(cat $PIDFILE)echo "Redis is running ($PID)"fi;;# 重启服务restart)$0 stopsleep 1$0 start;;*)echo "Please use start or stop as first argument";;
esac

5.注册为Service

检验脚本/etc/init.d/redis-server

  • 确保程序和配置文件路径正确
  • 确保端口是redis服务监听端口(会使用pid文件,pid文件与redis.conf中配置需一致)。

脚本添加执行权限

chmod +x /etc/init.d/redis-server

添加到redis-server服务

chkconfig --add redis-server

启用redis-server服务

# chkconfig redis-server on

6.功能验证

启动服务

[root@centos utils]# service redis-server start
Starting Redis server...
# 服务使用普通用户(redis)运行
[root@centos init.d]# ps -ef | grep 6379 | grep -v grep
redis    12530     1  0 18:54 ?        00:00:00 /usr/local/redis/bin/redis-server *:6379     

服务状态

[root@centos utils]# service redis-server status
Redis is running (11304)
[root@centos utils]# netstat -nltp | grep 6379 | grep -v grep
tcp        0      0 0.0.0.0:6379               0.0.0.0:*                   LISTEN      11304/redis-server  
tcp        0      0 :::6379                    :::*                        LISTEN      11304/redis-server  

重启服务

[root@centos utils]# service redis-server restart
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped
Starting Redis server...

停止服务

[root@centos utils]# service redis-server stop
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped

这篇关于Redis启停脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081675

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Redis的持久化之RDB和AOF机制详解

《Redis的持久化之RDB和AOF机制详解》:本文主要介绍Redis的持久化之RDB和AOF机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述RDB(Redis Database)核心原理触发方式手动触发自动触发AOF(Append-Only File)核

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

浅析如何保证MySQL与Redis数据一致性

《浅析如何保证MySQL与Redis数据一致性》在互联网应用中,MySQL作为持久化存储引擎,Redis作为高性能缓存层,两者的组合能有效提升系统性能,下面我们来看看如何保证两者的数据一致性吧... 目录一、数据不一致性的根源1.1 典型不一致场景1.2 关键矛盾点二、一致性保障策略2.1 基础策略:更新数