Existem maneiras inteligentes de fazer isso e simples. Eu optaria por simples sempre que possível.
Você poderia fazer X - > A e, em seguida, A - > B?
Existem também métodos como Unison , mas isso parece ir para apenas uma réplica, e é bidirecional, que parece não ser tão útil para um backup. No entanto, se A e B executassem as coisas no Unison, parece que o cliente X poderia então fazer o backup para A ou B, e ele passaria para o outro bem.