Структура дерева каталогов rsync с ограниченной глубиной и исключение определенных папок

Я хочу rysnc мою структуру каталогов и подпапок без их файлов, но с максимальной глубиной 3 (/ folder1 / folder2 / folder3) и исключить определенные папки (например, кеш /)

Я пробовал эту команду:

$ rsync -azv --include=*/ --exclude=* --exclude=cache/ --exclude=/*/*/*/ source/ destination/ 

но он не работает … он копирует все папки и подпапки; он не учитывает максимальную глубину и не исключает папку кеша

Нужно ли использовать другой параметр для ограничения максимальной глубины rsyc; что не так с моими существующими параметрами?

ps в последний раз, когда я задал этот вопрос, он был помечен как дубликат фильтра Rsync: копирование только одного шаблона

Это не так, как это не касается максимальной глубины и не касается только древовидной структуры каталога rsync. спасибо

2 Solutions collect form web for “Структура дерева каталогов rsync с ограниченной глубиной и исключение определенных папок”

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

Команда становится:

 rsync -azv --exclude='/*/*/*/*/' --include='*/' --exclude='*' --exclude=cache/ source/ destination/ 

(поскольку Wildcard уже прокомментировал, вы всегда должны цитировать или пропускать метасимволы оболочки.)

Чтобы синхронизировать два дерева каталогов при соблюдении максимального предела глубины трех подкаталогов, используйте:

 rsync -avz /source/ /destination --exclude "/**/**/**/*" --exclude=cache 

Это также исключает каталог, называемый кешем, в любом месте исходного пути.

  • как заставить rsync связывать идентичные файлы с параметром -link-dest, если старый файл уже существует?
  • Может ли rsync определить, где остановился прерванный процессор?
  • rsync не сохраняет права на каталоги даже с -a
  • Каков наилучший подход к копированию каталогов?
  • scp-файлы из определенной папки параллельно
  • rsync: скорость копирования уменьшается при синхронизации двух каталогов
  • Возможно ли обновлять измененные времена только без копирования файлов при использовании rsync?
  • Синхронизация двух папок и при успешном копировании одного файла из одного места в другое
  • как перемещать (не копировать) файлы с одного сервера на другой?
  • Вызывать rsync со специфическими значениями по умолчанию для текущей папки?
  • rsync-фильтр на основе промежуточного имени каталога
  • Linux и Unix - лучшая ОС в мире.