gpt4 book ai didi

cron - keepalived 检查哪个是主节点

转载 作者:行者123 更新时间:2023-12-04 14:59:52 25 4
gpt4 key购买 nike

我有 2 个应用服务器都配置为运行 php cron 作业,但只有 1 个可以随时运行该作业。由于我已经将keepalived用于其他目的,我正在考虑在cron作业中使用一些逻辑来检查节点是否具有虚拟ip,然后执行作业。所以理论上,即使两台服务器同时运行 cron 作业,也只有 1 台服务器会执行“真正的”作业。

但我的问题是如何检查节点是否有vip?有人可以建议我吗?

谢谢。

最佳答案

这是我建议调用 的通用脚本is_primary 要做到这一点:

#!/bin/bash
#
# Tells you if this node is the primary or secondary with keepalived

conf=/etc/keepalived/keepalived.conf
# Not sure why I can't do this in 1 step, but this works:
vip=$(expr "$(cat $conf)" : '.*\bvirtual_ipaddress\s*{\s*\(.*\)/*}')
vip=`expr "$vip" : '\([^ ]*\)' | sed 's/\./\\\\./g'`
if ip addr | grep -q "$vip"
then echo Primary ; exit 0
else echo Secondary ; exit 1
fi

关于cron - keepalived 检查哪个是主节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com