Não tenho certeza se o seguinte é possível para você, mas eis uma ideia minha:
-
Não tenho certeza de qual pilha de clusters / software você está usando, mas você pode introduzir o marca-passo e o corosync em
web1
eweb2
, e use agentes de recurso ocf para isso. Para você ter uma ideia, sobre o que é isso:primitive p_postfix ocf:heartbeat:postfix \ params config_dir="/etc/postfix" \ op monitor interval="10" primitive p_symlink ocf:heartbeat:symlink \ params target="/srv/postfix/cron" \ link="/etc/cron.d/postfix" \ backup_suffix=".disabled" \ op monitor interval="10" primitive p_cron lsb:cron \ op monitor interval=10 order o_symlink_before_cron inf: p_symlink p_cron colocation c_cron_on_symlink inf: p_cron p_symlink colocation c_symlink_on_postfix inf: p_symlink p_postfix
-
O que isso fará é o seguinte:
- Verifique se um arquivo chamado
postfix
já existe em/etc/cron.d
. - Em caso afirmativo, renomeie-o para
postfix.disabled
(lembre-se,cron
ignora as definições de tarefa com pontos no nome do arquivo). - (Re-) Crie a definição de trabalho
postfix
como um link simbólico para/srv/postfix/cron
. - Reinicie o
cron
quando terminar.
- Verifique se um arquivo chamado
-
Este exemplo está fora de um cluster ativo / passivo executando
postfix
.Cron
get é executado apenas no nópostfix
ativo. -
Você pode alterar isso para remover
postfix
e incluir seu servidor da Web.
Editar: Se o acima for "muito" para você, aqui está outra ideia: você pode configurar HAProxy
stats, obter esse website em seu script, analisá-lo e agir de acordo, dependendo no nome do host e no status emitido por HAProxy
.