Разрешает ли Rsync синхронизировать файлы Оба способа?

Я создал резервную копию веб-сервера linux, используя rsync с cygwin. У меня теперь есть прекрасная копия сервера на моем ноутбуке Windows. Если я удалю или изменю файл на своем ноутбуке и снова запустил rsync, cygwin удалит /обновит тот же файл на сервере? Im под впечатлением, что если я удалю /изменю на сервере и запустил rsync на своем ноутбуке, он удалит /изменит локальный файл на моем ноутбуке, но это работает в обратном направлении?

21 голос | спросил Dan Hastings 6 J000000Sunday14 2014, 17:09:28

3 ответа


27

Rsync выполняет одностороннюю синхронизацию, однако вам решать, каким образом синхронизация идет.

Синтаксис команды Rsync следующий:

rsync [OPTION...] SRC... [DEST]

Обратите внимание, что вы указываете синхронизацию от источника к получателю. Источником и получателем может быть любой локальный или удаленный путь.

Например, если вы хотите скопировать файлы с вашего сервера на свой ноутбук, выполните следующие действия:

rsync [OPTION...] <server-path> <laptop-path>

Для синхронизации в противоположном направлении:

rsync [OPTION...] <laptop-path> <server-path>

Итак, чтобы ответить на ваш вопрос: это зависит от того, как вы выполняете rsync.

Если вы хотите, чтобы файлы были удалены по месту назначения, вам нужно использовать опцию --delete. Но будьте осторожны с этим, потому что, если вы ошиблись при указании источника, вы в конечном итоге удалите все по месту назначения. Безопаснее протестировать вашу синхронизацию без параметра --delete, и как только вы будете довольны тем, как это работает, вы можете добавить --delete.

Как было предложено masegaloeh в комментариях ниже, -n или --dry-run также может использоваться для тестирования rsync.

ответил grekasius 6 J000000Sunday14 2014, 18:22:57
0

Инструмент обертки, написанный на python3, называется bsync, который обертывает find и rsync упрощает задачу. Github repo: https://github.com/dooblem/bsync

Не бойтесь, когда он находится на github (т. е. вы считаете, что вы должны быть программистом для использования этого инструмента).

ответил biocyberman 6 SunEurope/Moscow2015-12-06T02:09:09+03:00Europe/Moscow12bEurope/MoscowSun, 06 Dec 2015 02:09:09 +0300 2015, 02:09:09
-2

рассмотрите возможность использования --delete-after и not -delete, это гарантирует, что ваш принимающий конец будет удалять файлы после передачи, а не раньше.

ответил Moti 7 J000000Monday14 2014, 22:26:37

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132