rsync зеркальные файлы-из

rsync зеркальные файлы-из

Следующая команда рекурсивно копирует файлы из $MIRROR_SOURCES относительно $MIRROR_SOURCE в $MIRROR_DEST; но флаг удаления не работает.

rsync -var --files-from=$MIRROR_SOURCES --delete $MIRROR_SOURCE $MIRROR_DEST

решение1

Читать--удалитьвнимательно man rsync, выделено мной:

Это сообщает rsync о необходимости удалить посторонние файлы с принимающей стороны (те, которые не находятся на отправляющей стороне), нотолько для синхронизируемых каталогов. Вы, должно быть, попросили rsync отправить весь каталог (например, "dir" или "dir/") без использования подстановочного знака для содержимого каталога (например, "dir/*"), поскольку подстановочный знак раскрывается оболочкой, и rsync, таким образом, получает запрос на передачу отдельных файлов, а не родительского каталога файлов. Файлы, исключенные из передачи, также исключаются из удаления, если только вы не используете опцию --delete-excluded.или пометить правила как соответствующие только на отправляющей стороне (см. модификаторы включения/исключения в разделе ПРАВИЛА ФИЛЬТРА).

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

Связанный контент