O que é uma maneira correta de fazer backup de estrutura de árvore e metadados de arquivo de uma partição?

2

Eu tenho disco com dados não críticos (principalmente filmes, músicas, imagens, arquivos de texto). Os dados não são importantes o suficiente para eu fazer o backup. No entanto, eu gostaria de manter um backup dos "metadados", ou seja, para cada arquivo:

  • nome do arquivo e local
  • tipo de arquivo, tamanho e data de modificação
  • assinatura do primeiro KB (mais rápido para computar, não importa se ele tem uma taxa de conluio mais alta do que o hash completo ou não leva em conta a corrupção após o primeiro KB, é só identificar "o que foi" nos casos em que filetype, size e mdate podem ser similares)

Para que, se eu perder os dados devido a uma falha no disco, eu possa saber o que estava no disco e onde, e se eu conseguir recuperar arquivos usando fsck / foremost / etc ... eu posso Colocar automaticamente a maioria dos arquivos recuperados em seus locais usando a assinatura / filetype / filesize.

Então, faço o seguinte comando metadata file output :

#!/bin/sh
echo "$(stat -c'%n %s %b %i %Y' $1) $(file -bi $1) $(head -c1K $1 | md5sum)" >> "$2"

Eu vejo várias possibilidades:

  • Coloque todos os metadados dos arquivos em um arquivo de texto ( find ./datamountpoint -exec metadata {} backup.txt \; ), mas haveria muitos dados redundantes com os nomes dos arquivos.

  • Copie a estrutura em árvore e substitua cada arquivo por seus metadados e coloque-o em um arquivo.

.

#!/bin/sh
find ./datamountpoint -type d -exec mkdir ./backup{} \;
find ./datamountpoint -type f -exec metadata {} ./backup/{} \;
tar cvf 'backup.tar' ./backup

Mas eu não sei qual seria a velocidade mais eficiente, ou se o arquivo tar tem limites em arquivos numéricos, comprimentos de nomes de arquivos. Talvez haja uma ferramenta que eu não conheço que já faz o que eu quero.

Então, qual seria a maneira correta de fazer backup dos metadados da estrutura e dos arquivos de uma partição?

    
por Yann 25.11.2016 / 16:10

0 respostas