shell 检测redis状态及函数实例

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介:
检测redis存活状态,若检测到挂掉,那么立马启动redis
#! /bin/bash
## 检测redis如果挂了就立马启动
a=`ps aux|grep redis |awk '{print $1}'|grep redis`
if [ -z $a ];then
  /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
fi
创建一个函数,可以接受一个磁盘设备路径(如/dev/sdb)作为参数;在真正开始后面步骤之前提醒用户有危险,并让用户选择是否继续;而后将此磁盘设备上的所有分区清空(提示,使用命令dd if=/dev/zeroof=/dev/sdb bs=512 count=1实现,注意其中的设备路径不要写错了 ;如果此步骤失败,返回67给主程序;接着在此磁盘设备上创建两个主分区,一个大小为100M,一个大小为1G;如果此步骤失败,返回68给主程序; 格式化此两分区,文件系统类型为ext3;如果此步骤失败,返回69给主程序;如果上述过程都正常,返回0给主程序;

2、调用此函数;并通过接收函数执行的返回值来判断其执行情况,并将信息显示出来;
#! /bin/bash
function disk() {
  read -p "Input the device you want to format. " dev
  read -p "Waring! It will be format the device $dev, and the data on$dev will be deleted, are you sure to do this? Y/N " k
  while :; do
       if [ $k == 'N' -o $k == 'n' ]; then
              exit
           elif [ $k == 'Y' -o $k == 'y' ]; then
                dd if=/dev/zero of=$dev bs=512 count=1
                  n1=`echo $?`
                     if [ $n1 -ne 0 ]; then
                          return 67
                       else
                          echo -e "n\np\n1\n1\n+100M\nn\np\n2\n\n+1G\nw\nquit\n"|fdisk $dev
                     fi
                  n2=`echo $?`
                      if [ $n2 -ne 0 ]; then
                           return 68
                        else
                            mkfs.ext3 /dev/sdb1 && mkfs.ext3 /dev/sdb2
                      fi
                  n3=`echo $?`
                       if [ $n3 == 0 ]; then
                             return 0
                          else
                             return 69
                       fi
             else
                  continue
         fi
  done
}

disk
n4=`echo $?`
 if [ $n4 == 67 ]; then
        echo "Delete the partition table error."
   elif [ $n4 == 68 ]; then
        echo "Reinstall the partition table error."
   elif [ $n4 == 69 ]; then
         echo "Format the patition error."
   else
         echo "The whole opration is successful!"

  fi



















本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/1892450 ,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
NoSQL 关系型数据库 Redis
Docker的通俗理解和通过宿主机端口访问Redis容器的实例
本文目标:引导初学者入门Docker,理解镜像、容器和宿主机概念,学习常用Docker命令,特别是如何创建并从Redis容器通过宿主机端口访问。 关键点: - Docker核心:镜像(类)、容器(实例)、宿主机(运行环境)。 - `docker pull` 拉取镜像,如 `redis:3.0`。 - `docker run -d --name` 后台运行容器,如 `my-redis`。 - `-p` 参数做端口映射,如 `6379:6379`。 - `docker exec -it` 交互式进入容器,如 `bash` 或执行命令。
263 4
|
20天前
|
缓存 监控 NoSQL
Redis 缓存穿透的检测方法与分析
【10月更文挑战第23天】通过以上对 Redis 缓存穿透检测方法的深入探讨,我们对如何及时发现和处理这一问题有了更全面的认识。在实际应用中,我们需要综合运用多种检测手段,并结合业务场景和实际情况进行分析,以确保能够准确、及时地检测到缓存穿透现象,并采取有效的措施加以解决。同时,要不断优化和改进检测方法,提高检测的准确性和效率,为系统的稳定运行提供有力保障。
48 5
|
1月前
|
Shell Linux C语言
Shell 函数
10月更文挑战第4天
22 7
|
18天前
|
SQL NoSQL 关系型数据库
|
1月前
|
Shell 应用服务中间件 网络安全
|
1月前
|
安全 NoSQL 网络安全
漏洞检测与防御:Redis未授权访问漏洞复现
漏洞检测与防御:Redis未授权访问漏洞复现
|
1月前
|
SQL Shell 数据库
在TDengine容器中创建初始化数据库的Shell命令实例
以上就是在Docker容器环境中部署并初始化TDengine数据库的全过程,希望对你有所帮助。
64 0
|
4月前
|
NoSQL Redis 开发工具
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
|
4月前
|
运维 NoSQL Serverless
Serverless 应用引擎使用问题之首次启动无法获取redis连接,重启实例后可以获取,是什么原因
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
Serverless 应用引擎使用问题之首次启动无法获取redis连接,重启实例后可以获取,是什么原因
|
3月前
|
Shell Linux 程序员
在Linux中, 什么是shell函数?如何使用它们?
在Linux中, 什么是shell函数?如何使用它们?