Como recuperar o diretório excluído com o comando “rm -R”?

9

Eu deletei um diretório importante com o comando rm -R . Este é um dado do host muito popular. Foi localizado /var/zpanel/hostdata/ayrintilih Depois de remover o diretório ayrintilih foi tudo.

Eu tentei cancelar a exclusão com o programa ext4magic . Mas precisa de outro volume de disco rígido para recuperação.

Mensagem de erro:

ERROR: can not use "/root/recoveried" for recover directory. It's the same filesystem : "/dev/dm-0"

Meu ISP acabou de responder minha solicitação:

Unfortunately there is no way to add another Volume to a virtual Instance. 
If it would be a dedicated Server, we could do it, but not in a Cloudserver. 
You could try to minimize the partition and create another one, that would 
count as another Volume. We also recommend to have allways a 
Backup for your Important files.
    
por RedLEON 18.09.2013 / 22:25

5 respostas

17

A destruição está se tornando cada vez mais um mito esp. com hardware moderno (SSD), onde qualquer coisa que é excluída também é zerada (TRIM) imediatamente, então não há chance de conseguir nada de volta.

Sua melhor aposta seria fazer uma imagem do que você tem agora e, em seguida, ver se há algo a ser encontrado usando qualquer ferramenta que você deseja. Algo como:

ssh -C remoteserver dd if=/dev/theserverdisk bs=1M > local/disk.img

É melhor ter a caixa em um sistema de resgate ou congelar a caixa inteira (somente leitura) para esta operação, pois todas as gravações causam mais danos nesse momento.

Quando a imagem estiver pronta, você poderá criar um dispositivo de loop somente leitura para ela:

losetup --find --show --partscan --read-only disk.img

Em seguida, use todas as ferramentas de resgate de sua escolha no (s) dispositivo (s) de loop.

    
por 18.09.2013 / 23:56
3

Se você tiver acesso a outra máquina Linux / Unix / OSX etc., poderá ser possível usar sshfs para montar uma pasta remota e voltar a ela (instruções adaptadas de aqui ).

  1. Instale sshfs no servidor

    yum install fuse sshfs
    

    Você pode ter que ativar o repo EPEL se ainda não estiver ativado.

  2. Carregue o módulo FUSE ( no servidor )

    modprobe fuse
    
  3. Escolha um diretório do seu computador doméstico e monte-o no servidor do CentOS

    redleon@local$ mkdir /remote_backup
    

    Agora, no servidor remoto , execute este

    mkdir /backup
    sshfs [email protected]:/remote_backup /backup
    

    Você precisará alterar 1.2.3.4 para o IP real da sua máquina local .

Uma vez feito isso, você terá um sistema de arquivos remoto montado localmente e você pode tentar executar ext4magic e dizer para fazer backup para /backup . Não posso garantir que funcionará, mas parece que vale a pena tentar.

    
por 18.09.2013 / 22:45
2

Você pode tentar usar um tmpfs ramdisk para a recuperação. Isso, obviamente, exige que você tenha memória livre suficiente para a quantidade de dados que deseja recuperar.

Geralmente, acho que a resposta de Frostschutz atinge o prego na cabeça - "undeleting" raramente funciona. Deixe que isso seja uma lição para você e faça backups.

    
por 19.09.2013 / 00:30
0

Os sistemas de arquivos da família "ext" suportam certas habilidades de undelete, que às vezes até funcionam. Utilitários como os seguintes podem ser úteis:

link link

(Eu tentei alguns deles com resultados razoáveis).

    
por 19.09.2013 / 05:59
-1

Muitos de vocês menosprezaram a vítima aqui em vez de responder à pergunta. A vítima identificou o sistema como sendo baseado na nuvem. Em vez de assumir que ele foi excluído sem um backup, por que não assumir que há um backup e ele precisa recuperar o diretório do backup? Isso é o que você (os depreciadores) fariam se você tivesse que desfazer a exclusão, não é?

Se o seu sistema estiver hospedado em um sistema que forneça seu ISP, eles farão backups regularmente. Você precisa fazer a pergunta certa para que eles entendam e respondam adequadamente, mas você deve conseguir RECUPERAR ou RESTAURAR um diretório de seu backup. Alguns dados podem ser perdidos, dependendo da hora do último backup.

A resposta aqui depende de como o sistema é submetido a backup e com que frequência. O Cron e o Tar são frequentemente usados por sistemas pequenos e, devido à sua simplicidade, muitos sistemas grandes também o utilizam. Existem outras ferramentas disponíveis, no entanto.

Se este não for um sistema de um homem, a probabilidade é que exista um departamento de TI e um método de backup. O departamento de TI pode ajudá-lo, e você deve ir até eles em vez de tentar restaurar a pasta / diretório por conta própria.

Se este é um sistema doméstico e você é o departamento de TI, e os backups são estritamente locais, você pode fazer backups com CRON e TAR. Verifique sua configuração do CRON para ver onde você coloca seus arquivos TAR. Procure no arquivo tar para obter o caminho e o nome exatos:

 tar -tvf <backup name>.tar

Descompacte-o.

 tar -xvf <backup name>.tar <directory name>

Faça um man tar para mais informações, ou, claro, outro google para tar e informações de backup.

Considerações futuras incluem outras opções de backup, e uma lixeira pode digitar a exclusão em vez de uma exclusão real. Uma exclusão de tipo de lixeira envolve a criação de um alias para rm que move itens para um diretório chamado "lixeira", em vez de realmente excluir. Você então a esvazia com Cron ou manualmente quando quiser ou começa a ficar com pouco espaço.

    
por 04.11.2016 / 21:40