Qual é o formato de arquivo mais robusto?

23

Gostaria de fazer o backup de algumas pastas antigas com documentos que só raramente preciso acessar. Para isso, gostaria de colocá-los todos em um único arquivo. Como isso será um backup, o formato deve atender a esse propósito. Então, linha de fundo:

Qual é o formato de arquivamento mais confiável / robusto no Ubuntu?

    
por Ingo 05.10.2011 / 18:00

6 respostas

18

Depende. As duas opções mais populares são os tarballs e os arquivos zip, mas os dois não têm:

  • .tar arquivos em fita são uma opção muito popular para a maioria dos usuários do Linux. Ele preserva as permissões de arquivos do UNIX (o que é importante para um backup) e os links físicos. É compatível com todas as distribuições do Linux que testei, assim como alguns programas do Windows como 7-zip . No entanto, o tar tem várias limitações e desvantagens para o caso de uso de backup, conforme explicado pelos desenvolvedores de Duplicidade . Pode ser muito lento: até para obter uma lista de nomes de arquivos armazenados no arquivo, o arquivo inteiro deve ser lido. Ele também não manipula meta-dados detalhados que alguns sistemas de arquivos mais novos têm.
  • .zip arquivos zip age como um arquivo e um formato de compactação. Para velocidade, você pode desabilitar a compressão completamente. Os arquivos zip são melhores que os arquivos em fita, pois armazenam um tipo de índice, permitindo que os programas saltem rapidamente para o arquivo específico que precisam extrair. Ele também armazena somas de verificação para o conteúdo de cada arquivo, para permitir a detecção fácil de corrupção de arquivos. Os arquivos zip são extremamente populares, mas infelizmente não são adequados para backups do Linux porque eles não armazenam permissões de arquivos simples.

Aqui estão mais duas opções que, infelizmente, também faltam:

  • .7z arquivos compactados 7z têm alguns recursos excelentes, como criptografia e suporte para arquivos muito grandes. Infelizmente, ele não armazena as permissões de arquivo do UNIX, portanto, não é adequado para backups do Linux.
  • .ar arquivos clássicos do UNIX são os antecessores dos arquivos tar, e sofrem das mesmas limitações que os arquivos tar .

Na minha opinião, não há um formato de backup completo para back-ups do Linux, nenhum que seja suficientemente conhecido para garantir minha confiança, de qualquer forma.

Uma forma de superar as limitações de cada um desses formatos é combiná-los: por exemplo, arquivar cada arquivo individualmente em um arquivo TAR e, em seguida, arquivar todos esses arquivos em um arquivo zip.

Se você quiser um back-up realmente robusto, provavelmente deve procurar essas soluções:

  • faça backup diretamente em um disco rígido externo, com o mesmo sistema de arquivos na origem e no destino. Isso garante que você armazene as permissões e os metadados de cada arquivo exatamente como pretendido. (Como um aparte, os proprietários e proprietários de grupos de arquivos são armazenados usando seus números de ID do usuário e groupid, não seus nomes.)

  • Use software de imagem e clonagem de disco completo, como o CloneZilla . Não é possível recuperar um arquivo de um desses backups, mas você pode ter certeza absoluta de que salvou tudo o que for possível.

E lembre-se, lembre-se sempre: só pode ter certeza de seus backups se tiver tentado restaurá-los. Se o pior aconteceu e sua fonte de disco rígido foi completamente destruída, você pode restaurar tudo o que precisa para restaurar em um novo disco rígido? Funcionaria como você espera? Tente restaurar seu backup em um novo disco rígido e tente executar a partir desse disco rígido por alguns dias. Se você perceber que algo está faltando, você sabe que seu back-up não foi completo o suficiente.

Pense também em onde você está mantendo suas cópias de segurança. Você precisa de pelo menos alguns backups que não estejam no mesmo prédio que os discos de origem para proteger-se contra roubo ou incêndio. Algumas opções para isso são a nuvem ou a casa de um amigo.

    
por Flimm 11.10.2011 / 21:21
9

Um tarball ( .tar files) seria o caminho a percorrer. Use o formato de compactação gzip para menos compactação, mas uma boa velocidade. bzip2 é muito mais lento, mas fornece uma melhor taxa de compactação. No entanto, para dados binários, não existe uma grande diferença.

O comando para compactar um diretório usando a compactação gzip:

tar czf /path/to/save/backup.tar.gz directory-to-backup

Para extrair um tarball compactado com gzip enquanto preserva as permissões de arquivo:

tar xzpf /path/to/save/backup.tar.gz

Substitua z por j para a compactação bzip2 e adicione v antes v (por exemplo, czvf e xzpvf ) para imprimir os nomes dos arquivos conforme eles são arquivados / extraídos.

    
por Lekensteyn 05.10.2011 / 18:10
7

Eu escolho 7zip ( sudo apt-get install p7zip-full ). Parece um compactador ideal do meu ponto de vista.

Eu não gosto de tarballs clássicos por sua falta de jeito, pois todo o arquivo tar deve ser descompactado (o que pode acontecer nos bastidores, mas ainda acontece) apenas para visualizar o índice do arquivo.

    
por Ivan 05.10.2011 / 18:17
4

Embora não seja tão conhecido ou amplamente usado, eu estaria inclinado a usar o afio ao modo como compacta os arquivos individualmente, tornando possível a recuperação em caso de corrupção. Instale via aptitude ou similar.

    
por nat 05.10.2011 / 19:43
1

Tarball compactado (.tar.gz, .tgz), padrão de arquivamento do Linux. Você não pode dar errado com isso.

Nunca em minha vida eu tive um arquivo .tar.gz corrompido ou mesmo problemático. No FlatmateRooms, usamos isso para arquivar centenas de milhares de imagens no servidor e em todos os backups.

    
por Flatmate 05.10.2011 / 18:51
0

Em alguns casos, este é útil para mim.

tar -cJvf paquete.tar.lzma folder-to-backup/
    
por maniat1k 05.10.2011 / 21:49

Tags