Buscar archivos por fecha de modificación

Realizando un análisis forense tuve la necesidad de buscar archivos modificados en una cierta fecha. Los sistemas operativos de la familia UNIX no almacenan la fecha de creación de los archivos, por lo que debe utilizarse la fecha de modificación.



Si se necesita buscar archivos modificados en una cierta fecha, o rango de fechas, es posible utilizar el comando find comparando la fecha de modificación, con la fecha de cierto archivo especificado. Para llevar a cabo esta tarea es necesario crear archivos de prueba forzando una fecha de modificación necesaria, utilizando el comando touch.

Por ejemplo, suponiendo que se necesitan buscar archivos modificados entre los días 12 de enero y 20 de marzo del año 2010 (inclusive), se deben crear dos archivos con fechas de modificación 12/01/2010 y 20/03/2010:

touch --date "2010-01-12 00:00:00" /tmp/inicio
touch --date "2010-03-20 23:59:59" /tmp/fin

Estos dos archivos serán utilizados para comparar la fecha de modificación utilizando find de la siguiente forma:

find / -type f -newer /tmp/inicio -not -newer /tmp/fin

Esta instrucción busca (find) archivos (-type f) desde el directorio raíz (/) cuya fecha de modificación sea más nueva (-newer) que la del archivo /tmp/inicio (2010-01-12 00:00:00) y no sea más nueva (-not -newer) que la del archivo /tmp/fin (2010-03-20 23:59:59).

Si se necesita buscar archivos modificados en una fecha determinada en lugar de un rango de fechas, por ejemplo el día 25 de diciembre de 2011, se deben crear los archivos "inicio" y "fin" de la siguiente forma:

touch --date "2011-12-25 00:00:00" /tmp/inicio
touch --date "2011-12-25 23:59:59" /tmp/fin

Es posible jugar con la hora de modificación para restringir aún más la búsqueda y así encontrar archivos modificados en una fecha/hora determinada.

Espero les sirva!



Suscribirse

    Registrate para recibir las novedades y artículos por correo electrónico.

Linuxito en G+