У меня следующая ситуация: у меня несколько клиентских машин (то есть client1, client2, client3), и я хотел бы синхронизировать определенную папку ("/code") на всех машинах. В настоящее время у меня есть скрипт rsync, настроенный на отдельном сервере для синхронизации файлов. Т.е. на сервере я делаю что-то вроде следующего:
# 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
Я запускаю это с помощью cron, и он распространяет любые обновления файлов на одной машине на все машины. Проблема в том, что удаления не распространяются. Более того, если я правильно понимаю параметр rsync --delete, кажется, что использование --delete предотвратит добавление на сервер любых новых файлов от моих клиентов. Это верно? Я просто хотел бы сохранить файлы на всех трех моих клиентах полностью синхронизированными (добавления, удаления и модификации). Есть ли простой способ сделать то, что я хочу, используя rsync?