Com o GNU tar você não pode incluir a barra final em todas as exclusões. Funcionaria com o BSD, no entanto.
tar -cvf file.tar --exclude=thumbs/ \
--exclude=uploads_event/ \
--exclude=uploads_forum/ \
--exclude=uploads_admin/ \
--exclude=uploads_userpoints/ \
--exclude=uploads_group/ \
--exclude=up_old/ \
--exclude=uploads_user/ \
--exclude=uploads_wall/ \
directory_to_tar/
Eu estou errado? Tentando tar diretório inteiro, mas excluir todos os diretórios e quaisquer arquivos nessas pastas completamente.
Com o GNU tar você não pode incluir a barra final em todas as exclusões. Funcionaria com o BSD, no entanto.
A resposta de Michael Lowman deve ser aceita, mas desde que eu fiz alguns exemplos de qualquer maneira eu vou generalizar e deixar, talvez alguém encontre valor nela.
Para repetir a resposta de Michael, parece que as barras finais nas suas opções --exclude
são o seu problema.
Eu também notarei que quando você tem uma tonelada de coisas para excluir, pode ser mais fácil colocá-lo em um arquivo e apenas incluir o arquivo com a opção -X.
Aqui estão alguns exemplos práticos de uso de --exclude e -X
g3 0 /home/jj33/swap/t > mkdir -p dir/d1 dir/d2
g3 0 /home/jj33/swap/t > touch dir/{d1,d2}/{f1,f2,f3}
g3 0 /home/jj33/swap/t > find . -type f
./dir/d1/f1
./dir/d1/f2
./dir/d1/f3
./dir/d2/f1
./dir/d2/f2
./dir/d2/f3
#### using the trailing slash, as in your question, doesn't work:
g3 0 /home/jj33/swap/t > tar -cvf file.tar --exclude=d1/f2 --exclude=d2/ dir
dir/
dir/d1/
dir/d1/f1
dir/d1/f3
dir/d2/
dir/d2/f1
dir/d2/f2
dir/d2/f3
# removing the / works better
g3 0 /home/jj33/swap/t > tar -cvf file.tar --exclude=d1/f2 --exclude=d2 dir
dir/
dir/d1/
dir/d1/f1
dir/d1/f3
# example using a file and -X
g3 0 /home/jj33/swap/t > echo d1/f2 >exclude.txt
g3 0 /home/jj33/swap/t > echo d2 >>exclude.txt
g3 0 /home/jj33/swap/t > cat exclude.txt
d1/f2
d2
g3 0 /home/jj33/swap/t > tar -cvf file.tar -X exclude.txt dir
dir/
dir/d1/
dir/d1/f1
dir/d1/f3
g3 0 /home/jj33/swap/t >