Redis服务器自动宕机如何使用脚本重启?

Man*_*noj 1 bash redis node-redis

Redis 有主从配置。如果主节点宕机,从节点成为新的主节点。如何使用脚本重新启动以前的 Redis 主节点(作为新主节点的从节点,或者如果它再次成为主节点就好了)。我不想手动完成。

小智 5

这可以使用一个小脚本来完成。制作一个观察者脚本,在端口 6379 上不断 ping REDIS,如果失败。只需使用 redis-server 命令重新启动服务器。

#!/bin/bash
a=$(redis-cli -p 6379 PING)
if [ "$a" = "PONG" ]
then
    echo 'Already running'
else
    b=$(/etc/init.d/redis_6379 start)   
    echo $b
fi
Run Code Online (Sandbox Code Playgroud)

现在在 crontab 中为每个人安排这个脚本。


The*_*ith 5

在 Redis 死机并保持死机导致灾难性服务器故障后,我必须自学:

  1. 编辑/etc/systemd/system/multi-user.target.wants/redis.service并将其添加[Service]到底部的部分中:

    Restart=always
    RestartSec=10s
    
    Run Code Online (Sandbox Code Playgroud)
  2. 跑步sudo systemctl daemon-reload

  3. 跑步sudo systemctl restart redis

现在每次崩溃都会在 10 秒后重新启动。

这对于 Redis 来说通常“足够好”。