Правила rsync только для синхронизации конкретных субдиров в длинных путях

Я пытаюсь выполнить сложный rsync include / excludes для резервного копирования только следующего в каталоге /home/x :

  • Рекурсивно все файлы / dirs в Documents
  • Рекурсивно все файлы / dirs в .PlayOnLinux/wineprefix/evernote/drive_c/users/x/Local Settings/Application Data/Evernote/Evernote/Databases/

Я понимаю, что перед использованием правила исключения нужно включить все родительские директории в нужный каталог. Однако, как видно из приведенного ниже файла правила, это очень неэффективно для настройки и полного блокирования файла правил, что затрудняет чтение:

 + Documents + Documents/** + .PlayOnLinux + .PlayOnLinux/wineprefix + .PlayOnLinux/wineprefix/evernote + .PlayOnLinux/wineprefix/evernote/drive_c + .PlayOnLinux/wineprefix/evernote/drive_c/users + .PlayOnLinux/wineprefix/evernote/drive_c/users/x + .PlayOnLinux/wineprefix/evernote/drive_c/users/x/Local Settings + .PlayOnLinux/wineprefix/evernote/drive_c/users/x/Local Settings/Application Data + .PlayOnLinux/wineprefix/evernote/drive_c/users/x/Local Settings/Application Data/Evernote + .PlayOnLinux/wineprefix/evernote/drive_c/users/x/Local Settings/Application Data/Evernote/Evernote + .PlayOnLinux/wineprefix/evernote/drive_c/users/x/Local Settings/Application Data/Evernote/Evernote/Databases + .PlayOnLinux/wineprefix/evernote/drive_c/users/x/Local Settings/Application Data/Evernote/Evernote/Databases/** - * 

Все здесь работает по назначению. Однако существует ли более эффективный и эффективный способ достижения rsync резервного копирования содержимого только определенных поддиректоров в длинных путях при сохранении исходной структуры каталогов?

EDIT. Я обнаружил, что три звездочки могут быть использованы для включения суб-dir-контента на один уровень глубины без отдельного определения имени sub-dir для включения (например, + Documents/*** работает, чтобы заменить две соответствующие строки в приведенных выше правилах). Однако, похоже, это не работает для sub-dirs более одного уровня, что и в этом вопросе.

One Solution collect form web for “Правила rsync только для синхронизации конкретных субдиров в длинных путях”

 rules="+ /Documents/** + /.Play...bases/** + */ - *" echo $rules | rsync -rm -f ". -" --delete-excluded /home/x /dest 
  • Как включить rsync в libcurl?
  • Кэширование записывает изменения на SSD, чтобы избежать разгона HDD? ZFS, но (возможно) не L2ARC
  • Фильтрация путей на определенную глубину
  • Как перенести файлы в локальной сети?
  • Укажите идентификационный файл (id_rsa) с помощью rsync
  • Предоставление прав доступа всем файлам и папкам
  • Как использовать rsync или scp для эффективной копирования файлов с machineB и machineC в machineA?
  • rsync продолжает отсоединяться: сломанная труба
  • Как заставить перезаписать непустые каталоги с помощью `mv`
  • rsync: как перенести абсолютные символические ссылки?
  • Как я могу отправить один файл на несколько удаленных сайтов одновременно?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.