acessando dados antigos do syslog

acessando dados antigos do syslog

Eu cuido de vários bancos de dados MySQL que recentemente migramos para servidores Linux (do Windows). Eles funcionam bem e está tudo bem. No entanto, esta manhã precisei verificar os logs de erros, mas agora eles estão gravados em arquivos /var/log/syslog.

Meu SysAdmin está desligado hoje e não consigo ver como ler esses dados.

Posso obter os dados mais recentes usando

tail -f /var/log/syslog

Mas como faço para acessar os dados a partir da 1h de hoje? ou de ontem, nesse caso.

Tentei:

grep mysqld /var/log/syslog | less

mas isso me mostra dados a partir das 6h

Eu então tentei

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

mas isso não me mostrou nada além de uma longa lista de ^

Responder1

Syslog obtémgiradoem uma base regular. O resultado é assim:

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

Para usar o padrão "mysqld" em arquivos syslog regulares e rotacionados, use zgrep, que é capaz de executar grep em arquivos descompactados e compactados:

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

Para buscar linhas que contenham "mysql" e uma data específica, use a opção -E, que permite extensãoexpressões regulares:

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

informação relacionada