it-swarm-pt.tech

Recuperando arquivos excluídos acidentalmente

Excluí acidentalmente um arquivo do meu laptop. Estou usando o Fedora. É possível recuperar o arquivo?

82
crskhr

Eu desaconselho a instalação imediata de algum utilitário. Basicamente, seu maior inimigo aqui são gravações em disco. Você deseja evitá-los a todo custo agora.

Sua melhor aposta é um backup automático criado pelo seu editor - se existir. Caso contrário, tentaria o seguinte truque usando grep, se você se lembrar de uma sequência única no seu arquivo .tex:

$Sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt

Substituir /dev/sda1 pelo dispositivo em que o arquivo estava e substitua 'string' com a string exclusiva no seu arquivo. Isso pode levar algum tempo. Mas, basicamente, o que isso faz é procurar a sequência no dispositivo e retornar 100 linhas antes e depois dessa linha e colocá-la em file.txt. Se você precisar de mais linhas retornadas, ajuste o -B e -A opções conforme apropriado. Você pode receber um monte de lixo extra, mas poderá recuperar seu texto.

Boa sorte.

95
Steven D

É possível, será apenas um aborrecimento.

UPDATE: antes de tentar esse método, consulte o artigo resposta de Steven.

Você precisará do pacote testdisk , muito espaço em disco e um lote de tempo.

PhotoRec, parte do TestDisk, pode recuperar arquivos de praticamente qualquer disco. PhotoRec suporte localizando .tex arquivos.


Primeiro, instale testdisk executando

yum install testdisk

nota: você precisará de muito espaço livre em outra unidade, onde poderá salvar os arquivos recuperados.

Recupere todos os arquivos excluídos no seu disco executando photorec no espaço livre do disco.

Sudo photorec

e siga as instruções ... (lembre-se de não salvar os arquivos no mesmo disco em que você está se recuperando)

Após a conclusão do processo, todos os arquivos recuperados devem estar em um diretório, onde você deve executar:

find -name '*.tex' > filelist

Isso produzirá uma lista de arquivos que podem ser o que você perdeu. Você precisará verificar todos eles, pois os nomes dos arquivos serão perdidos.

23
Stefan

Muitos editores de texto mantêm arquivos de backup. Se você tiver realmente sorte, pode haver algo como o seu arquivo.tex ~, incluindo uma versão anterior do seu arquivo.

13
fschmitt

Existem outras ferramentas de recuperação de dados e as mais eficazes são as principais , photorec , bisturi e resgate mágico . (Estou assumindo que o truque 'grep' contado aqui não é suficiente) Aqui você pode encontrar alguns tutoriais sobre como usá-los:

http://www.howtogeek.com/howto/15761/recover-data-like-a-forensics-expert-using-an-ubuntu-live-cd/

https://help.ubuntu.com/community/DataRecovery

9
Attilio

Em qualquer caso, eu pararia de trabalhar no dispositivo que está sendo usado o mais rápido possível para evitar gravações em disco e inicializaria em um sistema operacional de recuperação dedicado, como SystemRescueCd , que é um Live-CD para que você possa monte seu disco somente leitura para evitar mais perda de dados.

Essas distribuições incluem muitas ferramentas de recuperação mencionadas por outras pessoas e você pode instalar a maioria das que estão faltando.

Eu sempre tendem a ter um CD com uma versão recente do SystemRescueCd no meu leitor USB externo, apenas por precaução.

4
Martin C.

NOTA: Adicionei esta resposta sobre outra questão sobre arquivos de banco de dados excluídos (servidor MySQL) que foram fechados e apontados para este. Acredito que também possa ser útil em outras situações semelhantes (na medida em que algum processo ainda mantenha os descritores de arquivo abertos).

Se seu processo ainda estiver em execução, você poderá encontrar seus arquivos em /proc/<pid>fd/ e apenas copie-os. Envie SIGSTOP primeiro para o grupo de processos. Copie os arquivos. Crie uma nova instância de lado e mantenha esta parada ou kill -9 e coloque os arquivos de volta em seus lugares. O InnoDB se recuperará sozinho quando executado, mas se houver algum MyISAM, você precisará fazer isso manualmente.

3
pawel7318

Eu acidentalmente excluí meu arquivo sqlite db.

O que eu fiz para descobrir o arquivo foi,

Abriu o local /proc/ em um navegador de arquivos e procurou pelo arquivo sqlite db excluído por lá.

Eu descobri esse arquivo em um resultado de pesquisa. Copiei esse arquivo de lá para o meu antigo local.

2
Thaha kp

Eu tive o mesmo problema há dois anos e tentei vários programas, como debugfs, photorec, ext3grep e extundelete. O ext3grep foi o melhor programa para recuperar arquivos. A sintaxe é muito fácil:

ext3grep image.img --restore-all

ou:

ext3grep /dev/sda3 --restore-all --after date -d '2015-01-01 00:00:00' '+%s' --before `date -d ‘2015-01-02 00:00:00’ ‘+%s’

Este vídeo é um mini tutorial que pode ajudá-lo.

0
Juan

Se você não tiver backup, uma Ferramenta de recuperação de disco de terceiros poderá recuperar alguns ou todos os dados, mas você deve parar de usar a máquina agora. Os arquivos da lixeira agora estão disponíveis para o seu sistema substituí-los. Uma vez substituídos, é proibitivamente caro recuperar os dados. Consegui obter sucesso ao usar a recuperação de dados do uflysoft (existem outros aplicativos de recuperação de dados do Mac OS) - você deve ter uma "unidade de recuperação" (não a unidade principal ou a unidade que você utiliza) para salvar os dados recuperados. Você inicializa a partir do disco de recuperação de dados (sistema)

0
Gallup Noel