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?