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
web1eweb2, 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
postfixjá existe em/etc/cron.d. - Em caso afirmativo, renomeie-o para
postfix.disabled(lembre-se,cronignora as definições de tarefa com pontos no nome do arquivo). - (Re-) Crie a definição de trabalho
postfixcomo um link simbólico para/srv/postfix/cron. - Reinicie o
cronquando terminar.
- Verifique se um arquivo chamado
-
Este exemplo está fora de um cluster ativo / passivo executando
postfix.Cronget é executado apenas no nópostfixativo. -
Você pode alterar isso para remover
postfixe 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 .