2017-06-21 3 views
1

Redis a la configuration de l'esclave maître.Si le maître tombe en panne, l'esclave devient le nouveau maître. Comment puis-je redémarrer le maître redis précédent (en tant qu'esclave du nouveau maître ou s'il redevient maître?) À l'aide d'un script. Je ne veux pas le faire manuellement.Comment redémarrer le serveur Redis en cas d'arrêt automatique à l'aide d'un script?

+0

Montrez-nous ce que vous avez fait? –

+0

@KrishnaKuntala mon maître est en cours d'exécution au port 6379 et mon esclave à 6380 et 6381.Et en utilisant sentinel.conf je décide du futur maître si le maître tombe en panne. – Manoj

+0

@KrishnaKuntala en utilisant "redis-cli -p 6379 DEBUG sommeil 30" je suis en train de tuer mon maître et l'esclave devient le maître.Mais le premier maître n'est ni esclave ni maître.Alors je veux le redémarrer. Manuellement, je l'ai fait, mais puis-je écrire un script pour cette – Manoj

Répondre

1

Cela peut être fait en utilisant un petit script. Créez un script d'observateur qui continue à envoyer un ping à REDIS sur le port 6379 et si cela échoue. Redémarrez simplement le serveur en utilisant la commande 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 

Maintenant, planifiez ce script dans crontab pour tout le monde minute.