Como as atualizações instantâneas também são aceitáveis, você pode usar lsyncd .
Ele observa diretórios (inotify) e rsync
muda para escravos.
Na inicialização, ele fará um rsync
completo, o que levará algum tempo, mas depois disso somente as alterações serão transmitidas.
A observação recursiva de diretórios é possível, se um servidor escravo estiver inativo, a sincronização será repetida até que ele retorne.
Se tudo isso estiver em um único diretório (ou em uma lista estática de diretórios), você também pode usar incron .
A desvantagem é que ele não permite a observação recursiva de pastas e você mesmo precisa implementar a funcionalidade de sincronização.