Usou tar com ordem errada de argumentos e sobrescreveu o arquivo original. Alguma maneira de recuperar?

1

Pretty noob move, mas usou o tar com os argumentos do arquivo de origem e de destino trocados, resultando em uma bagunça completa (o arquivo de origem foi sobrescrito com outro arquivo de mesmo nome com tamanho 4kb).

Existe alguma maneira de recuperar meu arquivo original?

Como um aparte, estou surpreso que o padrão é sobrescrever, mas suponho que eu não deveria estar fazendo algo assim antes do meu café da manhã. Ugh.

    
por 46and2 23.05.2012 / 17:44

2 respostas

4

A menos que você tenha um backup do arquivo de origem original armazenado em outro lugar, infelizmente você está sem sorte. O tar não tem como se recuperar dessa condição de erro em particular.

    
por 23.05.2012 / 18:05
3

Talvez este seja um momento inspirador para escrever um roteiro. Renomeie o comando tar como tar.orig e nomeie seu novo script my-tar.sh . Tenha seu novo script my-tar.sh :

  1. executar uma verificação de sanidade para saber qual é a entrada e qual é a saída (verifique .ext? tamanho do arquivo? data-hora?) e, em seguida,
  2. crie um backup do seu arquivo de entrada ( cp input.bkp ) antes de qualquer processamento ser feito.

Você também pode incluir um pequeno menu, configurado para selecionar facilmente entre seus conjuntos de opções de comando tar favoritos!

Se você estiver se sentindo realmente robusto, você também pode fazer com que o script gire vários arquivos de backup de cada um dos seus 'runs' mais recentes (usando /tmp dir; .bkp, .bk4, .bk3, .bk2,. bk1), apenas no caso de você administrar um pouco de loucura de teclado antes daquela primeira xícara-o-joe! Talvez também gire um pequeno arquivo de log como /var/log/my-tar.log para acompanhar a data & registros de data e hora e a linha de comando exata processada por script do que foi executado durante cada uma das últimas 'execuções' de seu script personalizado!

Para obter ajuda sobre como escrever o script mytar.sh , morda a bala e siga o caminho educacional: pegue um PDF on-line de " Advanced Bash-Scripting Guide " do The Linux Documentation Project. Você estará a frente do resto, gastando o tempo para aprender a lidar com muitas situações necessitadas de script - antes que eles te mordam por trás!

    
por 06.09.2012 / 11:29