Tengo una carpeta en particular ( /home/sam/officedocuments
) que tiene cientos de carpetas y archivos. Creo que eliminé algunos archivos y carpetas por error, pero no estoy seguro.
Cómo encontrar qué archivos / carpetas eran:
- eliminado recientemente en Linux?
- cambiado recientemente en Linux?
Solo quiero saber qué archivos y carpetas se eliminaron. Recuperar esos archivos y carpetas eliminados no es importante para mí.
OS: CentOS
ext3grep
utilidad para encontrar información sobre archivos eliminados. Con algunas secuencias de comandos, debería ser posible reunir una aplicación simple que enumere los archivos eliminados en función de un directorio específico. Sin embargo, estas utilidades necesitan acceso sin procesar al disco y, como tales, son extremadamente peligrosas si no se usan correctamente ( las operaciones de solo lectura sin bloqueo deben ser completamente seguras si recuerda que escribir en el disco al mismo tiempo podría causar que la operación actual devuelva datos rotos / incorrectos ).Respuestas:
Use
find
para buscar por hora de modificación. Por ejemplo, para buscar archivos tocados en los últimos 3 días:find /home/sam/officedocuments -mtime -3
Para "mayores de 3 días", use
+3
.Bastante imposible. Cuando se elimina un archivo, simplemente desaparece. En la mayoría de los sistemas, esto no se registra en ninguna parte.
fuente
3
... ¿qué necesito usar para los últimos30
minutos?ext3
sistema de archivos. ext3grep podría ayudar al cazar. Tengo superuser.com/a/433785/132604 que tiene cierta información y enlaces a los servicios públicos que se podrían utilizar para encontrar ( posiblemente recuperar demasiado ) eliminado los archivos y la información sobre ellos. Cuando elimina un archivo, en la mayoría de los sistemas de archivos, en realidad no se elimina sino que se marca como espacio que podría sobrescribirse en demanda.Probablemente deberías instalar Inotify Tools . entonces puede usar el
inotifywait
comando para escuchar eventos que suceden para el directorio especificado.Específicamente, si desea ver archivos y carpetas eliminados, use esto
y registrar esta salida en algún archivo.
Espero que esto resuelva tu problema
fuente
/
raíz, teniendo en cuenta las unidades de montaje / desmontaje? Supongo que, en ese caso, lo único viable para mantener un registro de eliminación sería un módulo del núcleo que se conectaríaunlink
(ver stackoverflow.com/questions/8588386/… ); tambiénman inotifywait
dice: "--recursivo: Advertencia: ... esta opción mientras mira ... un árbol grande, puede llevar bastante tiempo. Además, ..., se alcanzará la cantidad máxima de relojes inotify por usuario. el máximo predeterminado es 8192; "dmesg [| tail]
debería mostrarle montajes / desmontajes [recientes], si eso es lo que está preguntando.Linux generalmente no solicita confirmación antes de eliminar archivos, suponiendo que lo esté utilizando
rm
desde la línea de comandos.Para buscar archivos modificados en los últimos 30 minutos, use
touch --date="HH:MM" /tmp/reference
para crear un archivo llamado referencia con una marca de tiempo de hace 30 minutos (donde HH: MM corresponde a hace 30 minutos). Luego, usefind /home/sam/officedocuments -newer /tmp/reference
para buscar archivos más nuevos que la referencia.Si eliminó archivos usando una herramienta GUI, aún pueden estar en algún tipo de "bote de basura". Depende de lo que esté utilizando para un entorno de escritorio. Si usó
rm
desde la línea de comandos, pruebe una de las utilidades mencionadas en esta respuesta . (Un consejo para @Sampo para ese enlace).fuente