2

я использую

rsync . $HOST:$PATH --itemize-changes --verbose --human-readable --times --checksum --recursive --delete --delete-excluded --force --filter='dir-merge .rsync-filter'

и .rsync-filter выглядит так:

exclude .gitinstructions
exclude .gitignore
exclude .rsync-filter
exclude .gitlab-ci.yml
exclude .git
exclude timestamp.txt
exclude var
exclude LICENSE.html
exclude LICENSE.txt
exclude LICENSE_AFL.txt
exclude RELEASE_NOTES.txt
exclude config.json

protect media/**/*

Хотя на удаленном компьютере папка мультимедиа удаляется:

$ rsync. $ SSH_HOST:$ SSH_STAGEPATH --itemize-changes --verbose --hu-readable --times --checksum --recursive --delete --delete-exclude --force --filter = 'dir-merge .rsync-filter 'отправка списка добавочных файлов .d..t ......./* удаление медиа /тест * удаление медиа /

отправлено 680,12K байт, получено 28,00K байт, 472,08 тыс. байт /с, общий размер - 139,20, ускорение - 196,58.

Я что-то пропустил? Я в основном хочу, чтобы все «исключенные файлы / каталоги» не загружались, а удалялись на удаленном компьютере, а «защищенные файлы / каталоги» не загружались и не удалялись. Я был уверен, что придерживаюсь правильного синтаксиса со страницы руководства.

1 ответ1

0

Не могли бы вы подтвердить, что проблема сохраняется, когда вы ставите

protect media/**/*

в верхней части вашего .rsync-filter ?
В вашем примере это внизу фильтра.

Со страницы руководства rsync:

Обратите внимание, что если вы предоставляете свои собственные правила фильтрации, вам может потребоваться вручную вставить свое собственное правило исключения / защиты где-то выше в списке, чтобы оно имело достаточно высокий приоритет, чтобы быть эффективным (например, если ваши правила указывают конечное включение / исключение oq * cq, правило автоматического добавления никогда не будет достигнуто).


Всё ещё ищете ответ? Посмотрите другие вопросы с метками .