acceder a datos antiguos desde syslog

acceder a datos antiguos desde syslog

Cuido varias bases de datos MySQL que recientemente hemos trasladado a servidores Linux (desde Windows). Funcionan bien y todo está bien. Sin embargo, esta mañana necesitaba verificar los registros de errores, pero ahora están escritos en /var/log/syslog.

Mi SysAdmin está desactivado hoy y por mi vida no puedo ver cómo leer estos datos.

Puedo obtener los últimos datos correctamente usando

tail -f /var/log/syslog

¿Pero cómo accedo a los datos a partir de la 1:00 am de hoy? o de ayer para el caso.

Lo intenté:

grep mysqld /var/log/syslog | less

pero eso me muestra datos desde las 6am en adelante

entonces lo intenté

grep '^Nov  4 01' /var/log/syslog | less

pero eso no me mostró nada más que una larga lista de ^

Respuesta1

syslog obtienegiradosobre una base regular. El resultado se ve así:

$ ls /var/log/syslog*
/var/log/syslog  /var/log/syslog.1  ...  /var/log/syslog.7.gz

Para grep el patrón "mysqld" en archivos syslog normales y rotados use zgrep, que es capaz de grep archivos comprimidos y sin comprimir:

$ zgrep mysqld /var/log/syslog* | less

Para buscar líneas que contengan "mysql" y una fecha específica, use el modificador -E, que habilita la extensiónexpresiones regulares:

$ zgrep -E 'Nov  4 01.+mysqld' /var/log/syslog* | less

información relacionada