Redis Sentinel client-reconfig-script 不会运行 systemctl stop

问题描述

我正在使用带有哨兵的 redis 5

我已经设置了一个脚本 /var/redis/reconfig.sh

#!/bin/bash

ROLE=$(redis-cli --no-auth-warning -a mysupersecretpass info | grep "role:master")

ROLE_CLEAN=$(echo "$ROLE" | tr -d "[:space:]")

if [ "$ROLE_CLEAN" != "role:master" ]
then
echo "PasswordForRoot" | su -c "systemctl stop keepalived" root
else
echo "PasswordForRoot" | su -c "systemctl start keepalived" root
fi

exit 0

基本上我期望发生的是当 redis sentinel 运行重新配置脚本时,它会检查节点具有什么角色以及以太启动或停止 keepalived

我已经验证脚本确实被执行了,但它没有停止/启动 keepalived,我不知道是什么问题。

编辑:脚本在以 root 运行时确实成功执行,但当哨兵运行它时,它不会停止 keepalived。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)