Comprimir uma pasta com tar?

230

Estou tentando compactar uma pasta ( /var/www/ ) para ~/www_backups/$time.tar , em que $time é a data atual.

Isso é o que eu tenho:

cd /var/www && sudo tar -czf ~/www_backups $time"

Estou completamente perdida e estou nisso há horas agora. Não tenho certeza se -czf está correto. Eu simplesmente quero copiar todo o conteúdo em /var/www em um arquivo $time.tar , e quero manter as permissões de arquivo para todos os arquivos. Alguém pode me ajudar?

    
por qwerty 02.09.2012 / 18:35

1 resposta

315

Para a pasta tar e gzip a, a sintaxe é:

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

O - é opcional. Se você quiser tar do diretório atual, use . para designar isso.

Para construir seu nome de arquivo, use o utilitário date (veja a página do manual para as opções de formato disponíveis). Por exemplo:

cd /var/www && sudo tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .

Isso criaria um arquivo com o nome 20120902-185558.tar.gz .

No Linux, o seu tar também é compatível com a compactação BZip2 com a opção j em vez de z . E possivelmente outros. Verifique a página do manual em seu sistema local.

    
por 02.09.2012 / 19:00