Archivos eliminados accidentalmente usando GNU find -delete - ¿cómo recuperarlos?

1

Estaba jugando con OSX find y GNU find del paquete findutils (v 4.4.2) para fines de aprendizaje. GNU find tiene una opción -delete , que se explica por sí misma. Lo que no es, sin embargo, es que "El uso de -delete activa automáticamente la opción -depth", lo que significa que eliminará recursivamente el contenido actual del directorio de trabajo sin una advertencia.

El problema es que ejecuté accidentalmente un comando de este tipo en mi sistema, en lugar de una sesión de shell remota.

Intenté investigar las partes internas de -delete pero todo lo que pude encontrar fue documentos oficiales de búsqueda de GNU .

Cuando me di cuenta de lo que sucedió, apagué el sistema para evitar la posible sobrescritura de sectores. Luego, tomé un "enfoque de recuperación estándar" utilizando

  • Asistente de recuperación de datos de EaseUS para Mac
  • Prosoft Data Rescue 3
  • Disk Drill
  • Gurú de recuperación de datos de Mac

pero sin resultados. El directorio eliminado era en realidad un repositorio git con muchos archivos pequeños. Dado que se realizó una operación de disco casi a cero desde la eliminación, dudo que todos puedan sobrescribirse. No es una situación desastrosa porque obviamente estoy extrayendo el contenido del repositorio de forma remota. Sin embargo, pierdo sucursales y archivos locales no publicados bajo .gitignore.

¿Hay algún mecanismo OSX que pueda usar para recuperar estos archivos?

    
pregunta cellardoor_ncx 13.10.2015 - 20:57

1 respuesta

1

OS X mantiene los archivos eliminados en el área de almacenamiento de la máquina de hora local si ha habilitado (o el sistema ha habilitado) un almacén local.

tmutil snapshot

Si puede hacer una instantánea, puede ingresar a Time Machine y recuperar estos archivos. Si recibe un error como ** Las instantáneas locales no están habilitadas. ** entonces no tiene la capacidad de recuperar los archivos desde el nivel del sistema operativo. Como no hay otro mecanismo de recuperación en el sistema de archivos, tiene un buen estudio de las herramientas de recuperación (yo uso Data Rescue de manera casi exclusiva) y su única tercera opción sería ubicar una copia de seguridad viable del sistema o de los archivos en cuestión.

Tengo el hábito de habilitar la tienda local y forzar una instantánea antes de hacer algo como root o cualquier cosa que pueda lamentar desde el terminal. Habiendo cometido errores como este a lo largo de los años, he aprendido a tener esa "premonición" para verificar la copia de seguridad y volver a verificar la sintaxis. En general, trato de hacer una lista de archivos para eliminarlos y guardarlos en un archivo, así que tengo una pausa y una segunda secuencia de comandos que hace la eliminación en lugar de unirlos. No va a ayudar, pero es mi experiencia y mi manera de mitigar cuando no puedo garantizar una buena copia de seguridad.

sudo tmutil enablelocal
sleep 8 && tmutil snapshot
    
respondido por el bmike 13.10.2015 - 21:08

Lea otras preguntas en las etiquetas