Estou tentando compactar uma pasta ( /var/www/
) para ~/www_backups/$time.tar
onde $time
está a data atual.
Isto é 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
um $time.tar
arquivo e quero manter as permissões de arquivo para todos os arquivos. Alguém pode me ajudar?
$time
também.Respostas:
Para
tar
egzip
uma pasta, a sintaxe é:O
-
é opcional. Se você desejatar
o diretório atual, use.
para designar isso.Para construir seu nome de arquivo, use o
date
utilitário (consulte a página de manual para obter as opções de formato disponíveis). Por exemplo:Isso teria criado um arquivo chamado algo como
20120902-185558.tar.gz
.No Linux, é provável que você
tar
também suporte a compactação BZip2 com a opção emj
vez dez
. E possivelmente outros. Verifique a página do manual no seu sistema local.fonte
sudo tar -czf ~/www_backups/$time.tar /var/www/"
Imagine ter um arquivo chamado test.txt dentro de / var / www. Depois de fazer uma cópia do arquivo tar, quando extraí-lo, ele será colocado dentro dos diretórios / var / www. Isso faz sentido? Espero que sim, meio difícil de explicar. Vou verificar o suporte ao BZip2, obrigado pela sugestão!cd
leva ao diretório que deseja empacotartar cf file.tar .
- o último, em.
vez de especificar o caminho completo, tornará os caminhos dentro do arquivo em relação ao diretório atual. Você também pode usar a-C
opção para tar (veja a página de manual).-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.
sudo
estava na pergunta, não mudou ou questionou isso. Ter o diretório de destino de backup restrito à raiz não é uma má idéia.