¿Cómo agrupar un grupo de archivos dentro de un rango de tiempo?

¿Cómo agrupar un grupo de archivos dentro de un rango de tiempo?

Estoy intentando escribir un script utilizado en un cuadro de búfer que capture todos los paquetes del tráfico de la red. Como es para una red bastante grande dividimos las capturas en segmentos de 100MB. En momentos de alto tráfico de red, a menudo durante un período de un minuto, tendremos múltiples pcap que cubren ese período.

Entonces, lo que quiero hacer es tener un script bash que le permita al analista que está buscando algo especificar una fecha y hora y cuántos minutos a cada lado quieren buscar archivos. Obviamente puedo hacer algo como esto.

ls -al | grep "Dec  1" | grep 02:00
ls -al | grep "Dec  1" | grep 02:01

y así sucesivamente, obtener cada resultado y buscar cada archivo individualmente para la palabra clave específica que estoy buscando, pero me gustaría poder hacer una búsqueda más amplia de todos los archivos creados dentro de un rango de tiempo y luego buscar cada uno de ellos. la palabra clave.

No estoy del todo seguro de cómo hacerlo, agradecería cualquier ayuda.

Respuesta1

Algunas de las cosas buenas que find(en GNU/Linux) pueden hacer por usted:

Unidades:

  • nexactamentenorteuntis
  • -nmenos quenorteunidades
  • +nmás quenorteunidades -

Qué pasó:

  • -atime: ultima vezaccedido
  • -ctime: cambios enarchivo en sí(permisos, propietarios,…), no su contenido
  • -mtime:contenido del archivocambió
  • -amin n:norteminutos edad
  • -atime n:norteHace días (24 horas)
  • lo mismo ocurre con ctime/miny mtime/min)

De este modo:

  • find -atime -30→ consultado por última vez hace menos de 30 días
  • find -ctime +5→ hace más de 5 días, cambios en el archivo mismo
  • find -mtime +2 -31→ el contenido del archivo cambió hace más de dos días pero menos de 31 días

también - -daystart: después de hoy, 0.00h


Grepping

find cosa -exec grep {} \;→; la última parte ( {} \;) es esencial: tenga en cuenta el único espacio en blanco entre {}y\;

Las -execopciones permiten incorporar otros comandos afind


También:¿Por qué no se debería analizar el resultado dels

Respuesta2

buscar -iname "" -mtime -7 -exec zgrep "" {} \;

Por ex-

buscar /opt/WebSphere/AppServer/profiles/application/logs/ -iname "SystemOut*" -mtime -7 -exec zgrep "FileNotFoundException" {} \;

Encontrará dentro del directorio /opt/WebSphere/AppServer/profiles/application/logs/ archivos que comiencen con SystemOut en los últimos 7 días y buscará String FileNotFoundException.

información relacionada