Получить tar для исключения некоторых файлов

Я хочу сделать резервную копию, но у моих лент нет места для всего, поэтому я решил не создавать резервные копии виртуальных машин (более 1 тб).

У меня есть виртуальные машины в .local/share/libvirt/images

Я использовал эту команду

 tar cvf - /home/user -X altro/file.esclude | openssl aes-256-cbc -salt -k "password" | dd bs=80M of=/dev/st0 

В altro/file.esclude я помещаю эту строку /home/user/.local/share/libvirt/images

Но tar игнорирует файл exclude и создает резервные копии всего!

Поэтому я использую

 tar cvf - /home/user --exclude '/home/user/.local/share/libvirt/images' | openssl aes-256-cbc -salt -k "password" | dd bs=80M of=/dev/st0 

И … то же самое!

Зачем?


Система Slackware 14.2 с gnu tar

  • Как извлечь конкретный каталог из tarball? и разделите ведущую директорию?
  • tar-архив с определенным порядком распаковки
  • Удалить файлы из tar-архива
  • создание архива с использованием tar, включая все «dotfiles», но исключая все подкаталоги и структуру каталога wo
  • Откуда берется термин «tarball»?
  • Как извлечь только файлы, не создавая пути каталога из файла tar.gz?
  • создать плоский архив tar: игнорирование всех родителей при добавлении папок
  • tar --exclude не исключает. Зачем?
  • One Solution collect form web for “Получить tar для исключения некоторых файлов”

    X должен быть до путей для включения в файл tar.

    Так:

     tar cvf - /home/user -X altro/file.esclude | openssl aes-256-cbc -salt -k "password" | dd bs=80M of=/dev/st0 

    неправильно.

    Эта:

     tar cvf - -X /home/user/altro/file.esclude /home/user | openssl aes-256-cbc -salt -k "pass" | dd bs=80M of=/dev/st0 

    верно

    В файле exclude я использую

     /home/user/.local/share/libvirt/images/* 
    Linux и Unix - лучшая ОС в мире.