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 не может удалить удаленный файл не существует в локальном
  • Как создавать резервные копии файлов теневого копирования / etc / {, g} с разрешением 0000?
  • копировать символические ссылки с помощью rsync
  • rsync переделывать файлы?
  • Оба раза «rsync» и получить его значение выхода?
  • Как я могу исключить файлы по умолчанию с помощью rsync?
  • Как я могу вызвать запрос на кодовую фразу ssh key во время выполнения скрипта?
  • 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 - лучшая ОС в мире.