--del/--delete_during
: Удаляет файлы из директории назначения по мере их копирования (экономит память по сравнению с --delete-before
: --delete-before
выполняет отдельное сканирование для поиска удаляемых объектов)
--delete
: Удаляет файлы в целевом каталоге, если они не существуют в исходном каталоге.
--delete-before
: Удалить файлы в каталоге назначения перед копированием файла с тем же именем из исходного каталога
--delete-during
: Удаление файлов в целевом каталоге при копировании файла с тем же именем из исходного каталога
--delete-delay
: Отметка удаляется во время передачи, но дождитесь завершения передачи
--delete-after
: Receiver удаляет после передачи, а не до ... Если какая-то другая часть rsync переместила дополнительные файлы в другое место, вы захотите вместо этого --delete-delay
, потому что --delete-delay
решает, что будет удалено во время передачи, тогда как --delete-after
проверяет каталог на наличие файлов это должно быть удалено ПОСЛЕ того, как все закончено.
--delete-excluded
: Удаляет файлы из целевого каталога, которые явно исключены из передачи из исходного каталога.
Точка rsync не копирует, а архивирует. Это важное различие. Обработка удаленных / измененных файлов имеет решающее значение, и во многих случаях нюансы.
В --delete
частности, флаг, который я видел, облажался много раз. Многие люди используют rsync для перемещения файлов в хранилище с низким приоритетом, и в этом случае вы хотите, чтобы файлы, в которые вы перемещаетесь, все еще существовали в существующем каталоге. Это не то, что делает удаление: --delete
гарантирует, что когда вы удаляете файл из исходного каталога, он также удаляется из вашего каталога назначения, поэтому ваш пункт назначения не переполняется мусором ... Однажды увидел, как парень стер свою резервную копию вставив новый диск, и не отключая его ночной сценарий rsync. Скрипт увидел, что исходный каталог теперь пуст, и удалил все файлы в целевом каталоге, чтобы они соответствовали.
Большинство других опций связаны с пространством или производительностью. Когда вы удаляете файлы, это важно, если вы хотите убедиться, что передача прошла успешно, прежде чем что-либо делать, но если ваше устройство слишком мало для обработки 2 копий всей информации, вам нужно удалить ее по ходу и т. Д. немного странный из-за своей длинной истории на разных платформах: были добавлены некоторые опции, чтобы люди, привыкшие к определенному поведению, не были сбиты с толку
--delete-before
это описано как(default)
? Я не могу понять, что(default)
значит.