7zip linha de comando do Linux - excluindo diretórios

1

Gostaria de fazer um arquivo .7z do meu site usando 7zip; Existem alguns diretórios que contêm arquivos grandes (vários gigabytes) que não valem o backup, já que eu já tenho backups deles. Eu poderia especificar para backup apenas arquivos ou diretórios específicos, mas estou pensando em fazer um script para fazer isso para mim, e seria um pouco chato para manter a atualização do script para incluir novos arquivos, tipos de arquivos e diretórios. Não consigo encontrar para minha vida nada na documentação sobre a exclusão de diretórios; apenas arquivos. Qual é a maneira mais simples de fazer isso?

O comando que usei anteriormente (antes de ter arquivos grandes para evitar) era simplesmente

7z a backup.7z *

feito no diretório de trabalho.

    
por Antonio Banderéz 03.04.2018 / 22:14

1 resposta

1

directory é um tipo de arquivo. man 7z não é fácil de ler, mas menciona -x :

-x[r[-|0]]]{@listfile|!wildcard}


    Exclude filenames

Suponhamos que temos uma seguinte árvore de diretórios:

$ tree
.
├── dir
│   └── file3
├── dir1
│   └── file4
├── file1
└── file2

2 directories, 4 files

e queremos ignorar dir e dir1 :

$ 7z a -x'!dir' -x'!dir1' b.7z  *

Depois de fazer isso:

$ 7z l b.7z
(...)
   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2018-04-03 22:25:24 ....A            0            0  file1
2018-04-03 22:25:24 ....A            0            0  file2
------------------- ----- ------------ ------------  ------------------------
2018-04-03 22:25:24                  0            0  2 files
    
por 03.04.2018 / 22:52