手写linux上启动redis集群的linux脚本

首先我启动了三台服务器,每台服务器上面有各有两台redis节点,首选确保这三台机器可以通过ssh互相访问,可以免密登录,不知道免密登录的可以看我另一篇文章

直接写脚本: vim redisclusuter-start-stop 内容:

#!/bin/bash
#定义一个变量并赋值为当前服务器运行redis-server进程的数量
redisServerNum=`ps -ef |grep redis-server |grep -v grep|wc -l`
#判断当前服务器有没有redis服务进程在运行 如果没有启动,如果有关闭
if [ $redisServerNum == 0 ]; then
  echo redis集群开始启动 
  /usr/redis/bin/redis-server  /usr/redis/cluster/8001/redis.conf
  /usr/redis/bin/redis-server  /usr/redis/cluster/8002/redis.conf
  ssh 192.168.50.103 /usr/redis/bin/redis-server  /usr/redis/cluster/8003/redis.conf
  ssh 192.168.50.103 /usr/redis/bin/redis-server  /usr/redis/cluster/8004/redis.conf
  ssh 192.168.50.104 /usr/redis/bin/redis-server  /usr/redis/cluster/8005/redis.conf
  ssh 192.168.50.104 /usr/redis/bin/redis-server  /usr/redis/cluster/8006/redis.conf
  echo redis集群启动完毕
else
  echo redis集群开始关闭
  /usr/redis/bin/redis-cli  -h 192.168.50.102 -p 8001 shutdown
  /usr/redis/bin/redis-cli  -h 192.168.50.102 -p 8002 shutdown
  ssh 192.168.50.103 /usr/redis/bin/redis-cli  -h 192.168.50.103 -p 8003 shutdown
  ssh 192.168.50.103 /usr/redis/bin/redis-cli  -h 192.168.50.103 -p 8004 shutdown
  ssh 192.168.50.104 /usr/redis/bin/redis-cli  -h 192.168.50.104 -p 8005 shutdown
  ssh 192.168.50.104 /usr/redis/bin/redis-cli  -h 192.168.50.104 -p 8006 shutdown
  echo redis集群关闭完毕
fi

ip地址和路径改成自己的,然后文件改为可执行文件: chmod u+x redisclusuter-start-stop 执行脚本 这样三台机子上的redis都启动成功啦!

经验分享 程序员 微信小程序 职场和发展