Estou tentando compactar uma pasta (/var/www/) para ~/www_backups/$time.tar onde $time é a data atual. 
Isso é o que eu tenho:
cd /var/www && sudo tar -czf ~/www_backups $time"  Estou completamente perdido e estou nisso há horas. 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? 
Comentários
Resposta
 Para tar e gzip uma pasta, a sintaxe é: 
tar czf name_of_archive_file.tar.gz name_of_directory_to_tar  O - com czf é opcional. 
 Se você deseja tar o diretório atual, use . para designá-lo. 
 Para construir nomes de arquivos dinamicamente, use o utilitário date (consulte sua página de manual para as opções de formato disponíveis). Por exemplo: 
cd /var/www && tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .  Isso criará um arquivo chamado algo como 20120902-185558.tar.gz. 
 No Linux, é provável que tar também suporte compactação BZip2 com j em vez de z opção. E possivelmente outros. Verifique a página do manual em seu sistema local. 
Comentários
-  Isso é perfeito, obrigado. Porém, tenho um pequeno problema. Depois de criar um arquivo tar de / var / www, ele é colocado nos diretórios / var / www no arquivo tar. Aqui ' é o código i ' m usando agora sudo tar -czf ~/www_backups/$time.tar /var/www/"Imagine que tenho um arquivo chamado test.txt dentro de / var / www. Depois de fazer uma cópia tar do arquivo, quando eu extraí-lo, ele será colocado dentro dos diretórios / var / www. Isso faz sentido? Espero que sim, é meio difícil de explicar. Vou verificar se há suporte para BZip2, obrigado pela sugestão!
-  Isso ' é por que você primeiro cdpara o diretório que você deseja empacotar, entãotar cf file.tar .– aquele último.em vez de especificar o caminho completo fará com que os caminhos dentro do arquivo sejam relativos ao diretório atual. Você também pode usar a opção-Cpara tar (veja a página de manual).
- Sim, funcionou muito melhor. Muito obrigado, agradeço!
-  @Qwertylicious -f(da página de manual)Read the archive from or write the archive to the specified file.The filename can be - for standard input or standard output.
-  Com versões recentes de tar, as Jmaiúsculas (em vez dez) usarão xz Compressão LZMA2.
Resposta
Exemplos de algoritmos de compressão mais comuns
O título da pergunta para isso é simplesmente " Compactar um pasta com tar? " Como este título é muito geral, mas a pergunta e a resposta são muito mais específicas, e devido ao grande número de visualizações que esta pergunta atraiu, eu percebi seria benéfico adicionar uma lista atualizada de exemplos de arquivamento / compactação e extração / descompactação, com vários algoritmos de compactação comumente usados.
Eles foram testados com o Ubuntu 18.04.4. Eles são muito simples para uso geral, mas poderiam ser facilmente integrados ao conteúdo das perguntas mais específicas do OP usando as técnicas na resposta aceita e nos comentários úteis acima.
 Uma coisa a ser observada para os mais gerais público é que tar não adicionará as extensões necessárias (como .tar.gz) automaticamente – o usuário deve adicioná-las explicitamente, conforme visto no comandos abaixo: 
# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball tar cvf filename.tar * # 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory tar xvf filename.tar # 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip tar cvzf filename.tar.gz * # 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory tar xvf filename.tar.gz # Note: same options as 2 above # 5: tar (create bzip2"ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2 tar cvjf filename.tar.bz2 * # Note: little "j" in options # 6: Untar (extract bzip2"ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above # 7: tar (create xz"ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz tar cvJf filename.tar.xz * # Note: capital "J" in options # 8: Untar (extract xz"ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above  Veja a  página do manual  tar (melhor usar man tar em sua máquina específica) para obter mais detalhes. Abaixo, resumo as opções usadas acima diretamente da página de manual: 
-c, –create
cria um novo arquivo-x, –extract, –get
extrai os arquivos de um arquivo-v, –verbose
listar detalhadamente os arquivos processados-z, –gzip
filtrar o arquivo através do gzip-j, –bzip2
filtrar o arquivo através do bzip2-J, –xz
filtrar o arquivo através de xz-f, –file = ARQUIVO
usar arquivo ou dispositivo ARQUIVO
 Não há necessidade de adicionar o - na frente das opções combinadas ou o sinal = entre a opção f e o nome do arquivo.
Peguei tudo isso em meu artigo recente, que será expandido em um artigo muito mais abrangente, pois tenho tempo para trabalhar isso.
$timetambém.