TAR uma pasta com exlcusions

2

Estou tentando criar um arquivo TAR compactado. Eu tenho um disco que eu vou destruir e gostaria de tirar um último instantâneo da pasta / users mas não quero que os usuários .m4v .m4a e arquivos .mp3 como eles são muito grandes.

Eu tentei usar esta linha de comando

sudo tar acvf- -exclude='*.m4v' -exclude='*.m4a' -exclude='*.mp3' /home/john/Desktop/KS_UserFolders.tar.gz media/john/OS/Users/

A mensagem que eu recebo é

john@Pepper:~$ sudo tar acvf- -exclude='*.m4v' -exclude='*.m4a' -exclude='*.mp3' /home/john/Desktop/KS_UserFolders.tar.gz media/john/OS/Users/
[sudo] password for john:
tar: -exclude=*.m4a: Cannot stat: No such file or directory
tar: -exclude=*.mp3: Cannot stat: No such file or directory
tar: Removing leading '/' from member names
tar: /home/john/Desktop/KS_UserFolders.tar.gz: Cannot stat: No such file or directory
tar: media/john/OS/Users: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
john@Pepper:~$ 

Tenho certeza de que estou apenas me acostumando com a sintaxe do Linux, mas não consigo encontrar um bom exemplo de uso do TAR que corresponda à minha situação e à versão do TAR

    
por dotdawtdaught 29.06.2016 / 01:52

1 resposta

2

Tente

sudo tar acvf /home/john/Desktop/KS_UserFolders.tar.gz \
  --exclude='*.m4v' \
  --exclude='*.m4a' \
  --exclude='*.mp3' media/john/OS/Users/

Observe que o nome do arquivo deve vir logo após a opção f (sem - ), e as opções --exclude precisam de dois traços.

Se você quer tudo em uma linha, seria

sudo tar acvf /home/john/Desktop/KS_UserFolders.tar.gz --exclude='*.m4v' --exclude='*.m4a' --exclude='*.mp3' media/john/OS/Users/
    
por steeldriver 29.06.2016 / 02:10