rsync создает каталоги, которые исключаются

Я смущен тем, как rsync включает / исключает файлы и каталоги. У меня есть файл exclude:

/home/pi/rsync-exclude.txt 

с содержанием:

 /proc/* /sys/* /dev/* /boot/* /tmp/* /run/* /mnt/* /media/* .Trashes ._.Trashes .fseventsd .Spotlight-V100 .DS_Store .AppleDesktop .AppleDB Network Trash Folder Temporary Items .bash_history /etc/fake-hwclock.data /var/lib/rpimonitor/stat/ 

и я использую следующий синтаксис для rsync:

 sudo rsync -avH --delete-during --delete-excluded --exclude-from=/home/pi/rsync-exclude.txt / /mnt/ 

но rsync создает каталоги / mnt / proc, / mnt / sys и т. д. Они пусты, как и должно быть, но я бы предпочел, чтобы их вообще не было.

Есть ли другой синтаксис, который я могу использовать, чтобы заставить rsync полностью игнорировать каталоги?

  • Синхронизация каталогов в обоих направлениях с помощью rsync
  • rsync: как исключить самый верхний каталог
  • Как заставить rsync жаловаться, если пользователь не найден
  • rsync + переименование скопированных файлов
  • rsync хочет скопировать файлы, которые уже существуют в каталоге назначения
  • Миграция монтирования с одинаковыми разрешениями не работает
  • rsync на USB-накопитель, всегда передающий все данные
  • Различия между rsync на удаленном и rsync локальном на смонтированных sshfs?
  • One Solution collect form web for “rsync создает каталоги, которые исключаются”

    Ваши выражения исключают содержимое каталогов ( /foo/* ), а не сами каталоги ( /proc ). Например:

     $ mkdir -p foo/{1..3}/{1..3} $ cat exclude.txt /1/* /2 $ rsync -avH --exclude-from=exclude.txt foo/ bar sending incremental file list created directory bar ./ 1/ 3/ 3/1/ 3/2/ 3/3/ sent 296 bytes received 89 bytes 770.00 bytes/sec total size is 0 speedup is 0.00 

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

     /var/lib/rpimonitor/stat/ 
    Linux и Unix - лучшая ОС в мире.