rsync с «файлами из» в подстановочных знаках

[Мне пришлось изменить пример, чтобы было ясно, что есть подкаталоги.]

Предположим, я хочу воссоздать подмножество моей иерархии. для аргументов, скажем, я хочу делать резервные копии файлов в файлеlistlist.conf

# cat rsync-list ab* bb* 

а также

 # find . . ./abc ./abc/file-in-abc ./abd ./abd/file-in-abd ./aca ./bba ./bbc ./bca ./rsync-list 

Я бы надеялся, что

 rsync -arv --include-from=rsync-list --exclude='*' . /somewhere-else 

воссоздает abc, abd, bba и bbc. проблема в том, что он не спускается в каталоги ab *, поэтому он не выполняет abc / file-in-abc и abd / file-in-abd. поэтому в этом смысле ab * на самом деле не является подстановочным знаком, который расширен в abc и abd, а затем rsynced.

  • rsync исключить на основе размера файла?
  • Rsync два типа файлов в одной команде?
  • Проблема Ecryptfs с rsync
  • Резервное копирование в сжатый архив на Linux
  • Как rsync через ssh, когда имена каталогов имеют пробелы
  • Команда Linux для копирования как жесткие ссылки при удалении нежелательных файлов?
  • rsync с двоеточиями в именах файлов
  • rsync как другой пользователь
  • 2 Solutions collect form web for “rsync с «файлами из» в подстановочных знаках”

    В manpage перечислены эти пять вариантов:

     --exclude=PATTERN exclude files matching PATTERN --exclude-from=FILE read exclude patterns from FILE --include=PATTERN don't exclude files matching PATTERN --include-from=FILE read include patterns from FILE --files-from=FILE read list of source-file names from FILE 

    --files-from – для точных имен файлов, а --include-from – для шаблонов, поэтому вы можете попробовать это вместо этого.

    Используя include-from , вам не нужно указывать + , но вам нужно исключить все остальное. Например, учитывая:

     $ ls -v1 source image1.tiff ... image700.tiff $ cat includes image7*.tiff 

    Тогда я могу синхронизировать только image7*.tiff используя:

     rsync -aP --include-from=includes --exclude='*' source/ target 

    В manpage также говорится, что в разделе INCLUDE/EXCLUDE PATTERN RULES :

    • a '*' соответствует любому компоненту пути, но он останавливается при слэшах.
    • используйте «**» для соответствия всем, включая слэши.

    Вы можете использовать --include-from вместо --files-from если вы хотите использовать подстановочные знаки. filelist.conf должен выглядеть так:

     + /usr/lib/ld-* + /usr/bin/gcc* + /etc/passwd + /etc/nonexisting - * 

    Вам нужно указать + или - включить или исключить в файл. Правило - * в конце необходимо сделать включение правил работы, поскольку все включено по умолчанию. Не ставьте это первым или переопределяйте правила включения.

    Interesting Posts

    / root как привязка привязки?

    Как установить Linux (или аналогичную ОС) на смартфон?

    командной строки аудио с mpg123 – как сохранить позицию в аудио и начать с этого места в следующий раз?

    попугай VM на linux

    Как отслеживать количество процессов и вилок для каждого пользователя?

    Перенос с одного Linux на другой: как сохранить второй диск?

    Возможно ли восстановить WAV-файл из записи того, что происходит с звуковой картой?

    В каких случаях команда, которую вы вводили, теряется из истории?

    Почему мой экран не блокируется в XFCE?

    Отключить системное сообщение об ошибке в файле сценария и отобразить мой

    Проблема с громкостью звука USB Linux

    Как быстро создать локальный репозиторий apt для случайных пакетов с использованием дистрибутива linux на базе Debian?

    добавление PATH для кучи программ

    Как создать раздел на сервере ubuntu 12.10

    Как отредактировать файл из командной строки grub в RHEL6?

    Linux и Unix - лучшая ОС в мире.