Incentivos

Como Copiar um Sistema de Arquivos e Preservar Hard Links no Linux
Como parte do meu esquema de backup em Linux, eu recentemente estive trocando e fazendo upgrade/substituindo alguns HDs USB em casa. Em casa eu tenho um equipamento com Linux (um Thinkpad T43p rodando Ubuntu, se estiver curioso) que tem um disco de 320 GB conectado e montado como /mnt/backup e que estava com pouquíssimo espaço livre. Isso foi depois que eu tirei cerca de 50 GB de coisas dele ontem à noite.

Eu quero substituí-lo por um novo disco de 750 GB já conectado e preciso mover todos os dados para o novo disco. Mas como a maior parte dos dados consiste de capturas do sistema de arquivos remoto produzidas por meio do rsnapshot, que utiliza hard links extensivamente, é muito importante que eu faça isso da maneira correta. Caso contrário, os dados nem vão caber no disco de 750 GB!

Cavando bem fundo no meu passado Unix, lembro de ter precisado fazer isso uma vez. O truque era não usar nenhum dos suspeitos de costume: cp, tar, rsync nem mv. Em vez disso, deve-se utilizar dump (eca) ou uma combinação de find e cpio.

Depois é necessário esperar um tempão enquanto muita coisa rola na tela e você desejaria estar usando discos em cases eSATA em vez de cases USB 2.0.

O problema é que o cpio não preserva corretamente os timestamps dos diretórios, então tive que cavar ainda mais fundo pra me lembrar de parear o dump e o restore.

Da próxima vez que tiver que fazer isso, não vai me levar nem de perto tanto tempo pra traçar um plano com esse fim.

Alguém tem algum método alternativo? Ou você sabe por quê o cpio não preservou os timestamps corretamente?
Réplica dos membros:
TechCzar.com TechCzar.com
TechCzar.com - TechCzar.com

TechCzar.com - TechCzar.com
TechCzar.com