Tenho a seguinte situação: Tenho várias máquinas clientes (ou seja, cliente1, cliente2, cliente3) e gostaria de manter uma determinada pasta ("/ código") sincronizada em todas as máquinas. Atualmente, tenho um script rsync configurado em um servidor separado para manter os arquivos sincronizados. Ou seja, no servidor, faço algo como o seguinte:
# Step 1: update/copy all files from each client to the server
rsync -vrtu client1:/code/ /code
rsync -vrtu client2:/code/ /code
rsync -vrtu client3:/code/ /code
# Step 2: synchronize each client with the server
rsync -vrtu /code/ client1:/code
rsync -vrtu /code/ client2:/code
rsync -vrtu /code/ client3:/code
Eu corro isso usando o cron e propaga qualquer atualização de arquivo em uma máquina para todas as máquinas. O problema é que as exclusões não são propagadas. Além disso, se eu entender a opção rsync --delete corretamente, parece que o uso de --delete impediria que novos arquivos de meus clientes fossem adicionados ao servidor. Isso está correto? Gostaria apenas de manter os arquivos dos três clientes completamente sincronizados (adições, exclusões e modificações). Existe uma maneira simples de fazer o que eu quero usando o rsync?