Каковы различия между rsync, удаляют опции?

Я вижу на rsync странице справочника, что существуют много delete опции, но действительно не понимают различий между ними. Каковы различия между этими опциями?

 --del                   an alias for --delete-during
 --delete                delete extraneous files from dest dirs
 --delete-before         receiver deletes before transfer (default)
 --delete-during         receiver deletes during xfer, not before
 --delete-delay          find deletions during, delete after
 --delete-after          receiver deletes after transfer, not before
 --delete-excluded       also delete excluded files from dest dirs
121
задан 01.10.2014, 05:18

2 ответа

  • --del/--delete_during: Удаляет файлы из целевого dir, поскольку они копируются (сохраняет память по сравнению с --delete-before: --delete-before делает отдельное сканирование для поиска deleteables),

  • --delete: Удаляет файлы в целевом каталоге, если они не существуют в исходном каталоге.

  • --delete-before: Удалите файлы в целевом каталоге прежде, чем скопировать file-with-same-name с исходного каталога

  • --delete-during: Удалите файлы в целевом каталоге ПРИ копировании file-with-same-name из исходного каталога

  • --delete-delay: Mark удаляет во время передачи, но ожидайте, пока передача не завершена

  • --delete-after: Получатель удаляет после передачи, не прежде... Если бы некоторая другая часть rsync переместила дополнительные файлы в другое место, то Вы хотели бы это вместо --delete-delay, потому что --delete-delay решает то, что это собирается удалить посреди передачи, тогда как --delete-after проверяет каталог на файлы, которые должны быть удалены ПОСЛЕ ТОГО, КАК все закончено.

  • --delete-excluded: Удаляет файлы из целевого каталога, которые явно исключены из передачи из исходного каталога.

Точка rsync не копирует, это архивирует. Это - важное различие. Обработка удалила/изменила файлы, очень важно, и во многих случаях детален.

--delete флаг в особенности является тем, который я видел завинченный много раз. Много людей использует rsync для перемещения файлов в низкоприоритетное устройство хранения данных, и в этом случае Вы хотите файлы, которые Вы перемещаете для тихого СУЩЕСТВОВАНИЯ в целевом каталоге. Это не то, что удаляет, делает: --delete удостоверяется, что при удалении файла из исходного каталога он ТАКЖЕ удален из целевого каталога, таким образом, место назначения не становится полным спама... Однажды видел, что парень вытер свое резервное копирование, включив новый диск и не выключив его ночной rsync сценарий. Сценарий видел, что исходный dir был теперь пуст, и он удалил каждый файл в целевом dir, таким образом, они будут соответствовать.

Большинство других опций является пространством или связанной производительностью. То, когда Вы удаляете файлы, важно, если Вы хотите удостовериться, что передача успешна, прежде чем Вы сделаете что угодно, но если Ваше устройство является слишком небольшим для обработки 2 копий всей информации, необходимо удалить, когда Вы идете и т.д. Это является немного дурацким из-за своей долгой истории через несколько платформ: некоторые опции были добавлены так, чтобы люди, которые привыкли к определенному поведению, не были смущены.

118
ответ дан 07.12.2019, 07:49

Существует две вещи, продолжающиеся:

  1. Кто делает удаление
  2. Когда это происходит

Или отправитель или получатель могут быть проинструктированы, чтобы сделать удаление (я не уверен, почему это имеет значение). Таким образом, когда rsync с компьютерных подключений на rsync сервер с другой стороны, это определяет, кто эффективно дает удалить команду.

То, когда это происходит, довольно легко... перед средствами все файлы удалены, и ЗАТЕМ rsync копии по файлам. во время средств, поскольку это проходит список файлов, это удаляет их когда дело доходит до них, и после средств это ожидает, пока все файлы не передаются, и затем удаляет удаленную сторону. Это имеет значение только, когда передача прервана.

2
ответ дан 07.12.2019, 07:49

Теги

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