Qual é o formato de arquivo mais robusto?


25

Eu gostaria de fazer backup de algumas pastas antigas com documentos que raramente precisam acessar. Para isso, gostaria de colocá-los todos em um arquivo. Como esse será um backup, o formato deve se adequar a essa finalidade. Então, linha de fundo:

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

Respostas:


20

Depende. As duas opções mais populares são tarballs e arquivos zip, mas ambos estão ausentes:

  • .tar arquivos de fita são uma opção muito popular para a maioria dos usuários de Linux. Ele preserva as permissões de arquivo UNIX (o que é importante para um backup) e os links físicos. É suportado imediatamente em todas as distribuições Linux que eu testei, bem como em alguns programas do Windows, como o 7-zip . No entanto, o tar tem várias limitações e desvantagens para o caso de uso de backup, conforme explicado pelos desenvolvedores do Duplicity . Pode ser muito lento: mesmo para obter uma lista de nomes de arquivos armazenados no arquivo, o arquivo inteiro deve ser lido. Ele também não trata de metadados detalhados que alguns sistemas de arquivos mais recentes possuem.
  • .zip Os arquivos zip funcionam como um arquivo e um formato de compactação. Para velocidade, você pode desativar completamente a compactação. Os arquivos zip são melhores que os arquivos de fita, pois armazenam um tipo de índice, permitindo que os programas pulem 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 facilitar a detecção de corrupção de arquivos. Os arquivos zip são extremamente populares, infelizmente, não são adequados para backups do Linux, porque não armazenam permissões simples de arquivo.

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

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

Na minha opinião, não existe um formato de arquivo de backup completamente robusto para backups do Linux, nenhum que seja suficientemente conhecido para garantir minha confiança, de qualquer forma.

Uma maneira de superar as limitações de cada um desses formatos é combiná-las: por exemplo, arquive cada arquivo individualmente em um arquivo tar e, em seguida, arquive todos esses tarballs em um arquivo zip.

Se você deseja um backup 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. (Além disso, os proprietários e os proprietários de grupos de arquivos são armazenados usando seus números de identificação de usuário e identificação de grupo, e não seus nomes.)

  • Use software de imagem e clonagem de disco completo, como o CloneZilla . Você não pode recuperar um arquivo de um desses backups, mas pode ter certeza absoluta de que salvou tudo o que pode.

E lembre-se, lembre-se sempre: você só pode confiar em seus backups se tiver tentado restaurá-los. Se o pior acontecesse e o disco rígido de origem fosse completamente destruído, você poderia restaurar tudo o que precisa para restaurar em um novo disco rígido? Funcionaria como você esperava? Tente restaurar o backup para 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 backup não foi completo o suficiente.

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


Obrigado por esta boa explicação dos prós e contras do TAR / ZIP! Muito útil.
Pisu 12/10

9

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

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

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

Para extrair um tarball compactado com gzip, preservando as permissões de arquivo:

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

Substitua zpor jpara a compactação bzip2 e adicione vantes de v (por exemplo, czvfe xzpvf) para imprimir os nomes de arquivos à medida que são arquivados / extraídos.


4
Para confiabilidade, você não deseja compactação. Qualquer dano a um arquivo compactado fará com que tudo que se segue ao ponto de dano seja perdido.
Psr #

5
@psusi Isso não é verdade para o bzip2, que é compactado em pedaços de ~ 1 MB. Dê uma olhada bzip2recover.
Phihag #

@ phihag, puro, depois de todos esses anos eu não tinha percebido isso! +1. Uma boa razão para bzip2 sobre gzip.
Psusi 6/10/11

7

Eu escolhi 7zip ( sudo apt-get install p7zip-full). Parece um arquivador de compressão 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.


4

Embora não seja tão conhecido ou amplamente utilizado, eu estaria inclinado a usar o afio devido à maneira como compacta arquivos individualmente, possibilitando a recuperação em caso de corrupção. Instale via aptitude ou similar.


1

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

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


0

Em alguns casos, este é útil para mim.

tar -cJvf paquete.tar.lzma folder-to-backup/
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.