¿Cómo recuperar un directorio que acaba de eliminar con el comando "rm -R" (en la unidad de la nube)?

10

Eliminé un directorio importante con el rm -Rcomando. Este es un dato de host muy popular. Se encuentra /var/zpanel/hostdata/ayrintilih después de eliminar el directorio ayrintilih se ha ido todo.

Traté de recuperar con el ext4magicprograma. Pero necesita otro volumen de disco duro para la recuperación.

Mensaje de error:

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

Mi ISP acaba de responder mi solicitud:

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.
RedLEON
fuente
25
La verdadera pregunta es cuántas veces más tendrá que leer esto: "También recomendamos tener siempre una copia de seguridad para sus archivos importantes", antes de tomarlo en serio.
Ricitos de Oro
2
Otro consejo, siempre piense dos veces antes de escribir la tecla Intro, especialmente si el comando es rm -R...
jlliagre
99
"¿Hay alguna forma de recuperar archivos fácilmente?" No.
msw
1
@terdon Hey, espera un minuto, ¿esto está en algún tipo de nube? ¿Todavía tienes que hacer copias de seguridad? Sheesh, ¿de qué sirve este material en la nube si tienes que hacer tus propias copias de seguridad solo para poder restaurar los archivos eliminados? ¿Dónde está la instantánea por hora y por noche en la que puedes "cd"? Las copias de seguridad deben ser para la situación en la que la nube desaparece repentinamente, junto con los datos, no para estos pequeños percances que no implican una catástrofe real.
Kaz
2
El representante de soporte de ISP podría estar mintiendo o simplemente mal informado. O bien, podría ser el BOFH : "Ahí, ahora tienes mucho espacio"
msw

Respuestas:

17

La indelección se está convirtiendo cada vez más en un mito especialmente. con hardware moderno (SSD) donde todo lo que se elimina también se pone a cero (TRIM) de inmediato, por lo que hay cero posibilidades de recuperar algo.

Su mejor opción sería hacer una imagen de lo que tenga en este momento y luego ver si queda algo por encontrar utilizando las herramientas que desee. Algo como:

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

Es mejor tener la caja en un sistema de rescate o congelar la caja completa (solo lectura) para esta operación, ya que todas las escrituras solo causan más daños en este punto.

Una vez que la imagen está hecha, puede crear un dispositivo de bucle de solo lectura para ella:

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

Y luego proceda a usar las herramientas de rescate que elija en los dispositivos de bucle.

Frostschutz
fuente
thx @frostschutz. Pero hecho está hecho. No pude recuperar ningún archivo.
RedLEON
Me ayudó a recuperar ~ 1GB de datos. Tipo de unidad del servidor: SSD.
merqlove
Pero, ¿qué pasa con las atenciones que se prestan al análisis forense digital y al espionaje paramilitar? ¿Sería más fácil la recuperación, aunque requeriría conocimiento de las redundancias y trucos de hardware?
can-ned_food
3

Si tiene acceso a otra máquina Linux / Unix / OSX, etc., podría ser posible usarla sshfspara montar una carpeta remota y hacer una copia de seguridad (instrucciones adaptadas desde aquí ).

  1. Instalar sshfs en el servidor

    yum install fuse sshfs
    

    Es posible que deba habilitar el repositorio EPEL si aún no está habilitado.

  2. Cargue el módulo FUSE ( en el servidor )

    modprobe fuse
    
  3. Elija un directorio de la computadora de su hogar y móntelo en el servidor CentOS

    redleon@local$ mkdir /remote_backup
    

    Ahora, en el servidor remoto , ejecute esto

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

    Deberá cambiar 1.2.3.4a la IP real de su máquina local .

Una vez hecho esto, tendrá un sistema de archivos remoto montado localmente y puede intentar ejecutarlo ext4magicy pedirle que haga una copia de seguridad /backup. No puedo garantizar que funcione, pero parece que vale la pena intentarlo.

terdon
fuente
2

Podría intentar usar un tmpfsdisco ram para la recuperación. Por supuesto, esto requiere que tenga suficiente memoria libre para la cantidad de datos que desea recuperar.

En general, sin embargo, creo que la respuesta de frostschutz da en el clavo: "recuperar" rara vez funciona. Deje que esto sea una lección para usted y haga copias de seguridad.

Martin von Wittich
fuente
Y recuperar un directorio completo lleno de objetos y estructura de subdirectorios va a ser aún más peligroso que un puñado de archivos sueltos.
Kaz
-2

Muchos de ustedes han menospreciado a la víctima aquí en lugar de responder la pregunta. La víctima ha identificado el sistema como basado en la nube. En lugar de asumir que eliminó sin una copia de seguridad, ¿por qué no asumir que hay una copia de seguridad y necesita recuperar el directorio de la copia de seguridad? Eso es lo que ustedes (los menospreciadores) harían si tuvieran que recuperarlos, ¿no es así?

Si su sistema está alojado en un sistema que proporciona su ISP, harán copias de seguridad de forma regular. Debe hacerles la pregunta correcta para que comprendan y respondan correctamente, pero debe poder RECUPERAR o RESTAURAR un directorio desde su copia de seguridad. Es posible que se pierdan algunos datos, según la hora de la última copia de seguridad.

La respuesta aquí depende de cómo se realiza una copia de seguridad del sistema y con qué frecuencia. Cron y Tar a menudo son utilizados por sistemas pequeños y, debido a su simplicidad, muchos sistemas grandes también lo usan. Sin embargo, hay otras herramientas disponibles.

Si este NO es un sistema unipersonal, lo más probable es que exista un departamento de TI y un método de respaldo. El departamento de TI puede ayudarlo, y debe ir a ellos en lugar de intentar restaurar la carpeta / directorio usted mismo.

Si este es un sistema doméstico y usted ES el departamento de TI, y las copias de seguridad son estrictamente locales, puede hacer copias de seguridad con CRON y TAR. Verifique su configuración CRON para ver dónde coloca sus archivos TAR. Busque en el archivo tar para obtener la ruta y el nombre exactos:

 tar -tvf <backup name>.tar

Untarlo

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

Haga un man tar para obtener más información, o, por supuesto, otro google para obtener información de tar y backup.

Las consideraciones futuras incluyen otras opciones de copia de seguridad, y una papelera puede escribir eliminación en lugar de una eliminación real. La eliminación de un tipo de papelera implica crear un alias para rm que mueva los elementos a un directorio llamado "basura", en lugar de eliminarlo realmente. Luego lo vacía con Cron o manualmente cuando lo desee, o comienza a quedarse sin espacio.

George Moore
fuente