Encuentre los archivos que se han modificado en las últimas 24 horas
Por ejemplo, se está ejecutando un servidor MySQL en mi máquina Ubuntu. Algunos datos han sido modificados durante las últimas 24 horas.
¿Qué scripts (Linux) pueden encontrar los archivos que se han modificado durante las últimas 24 horas?
Enumere los nombres de los archivos, los tamaños de los archivos y la hora de modificación.
Para buscar todos los archivos modificados en las últimas 24 horas (último día completo) en un directorio específico en particular y sus subdirectorios:
find /directory_path -mtime -1 -ls
debe ser de tu agrado
El -
antes 1
es importante: significa que cualquier cosa cambió hace un día o menos. En cambio , un +
antes 1
significaría que cualquier cosa cambió hace al menos un día, mientras que no tener nada antes 1
habría significado que se cambió hace un día, ni más ni menos.
Otra forma, más humanista , es utilizar -newermt
una opción que comprenda unidades de tiempo legibles por humanos (ver man find
y buscar -newerXY
).
A diferencia de -mtime
la opción que requiere que el usuario lea find
la documentación para calcular qué unidades de tiempo -mtime
espera y luego pedirle al usuario que convierta sus unidades de tiempo en esas, lo cual es propenso a errores y sencillamente poco amigable para el usuario. -mtime
Era apenas aceptable en la década de 1980, pero en el siglo XXI -mtime
tiene la comodidad y seguridad de las herramientas de la Edad de Piedra.
Ejemplos de usos de -newermt
una opción con la misma duración expresada en diferentes unidades amigables para los humanos:
find /<directory> -newermt "-24 hours" -ls
find /<directory> -newermt "1 day ago" -ls
find /<directory> -newermt "yesterday" -ls
Puedes hacer eso con
find . -mtime 0
De man find
:
[El] tiempo transcurrido desde la última modificación de cada archivo se divide por 24 horas y el resto se descarta. Eso significa que para coincidir con -mtime 0, un archivo deberá tener una modificación en el pasado que sea hace menos de 24 horas.