syslog에서 이전 데이터에 액세스

syslog에서 이전 데이터에 액세스

저는 최근에 (Windows에서) Linux 서버로 옮긴 다양한 MySQL DB를 관리하고 있습니다. 잘 돌아가고 모든 것이 좋습니다. 하지만 오늘 아침에 오류 로그를 확인해야 했는데 이제 오류 로그가 /var/log/syslog.

내 SysAdmin이 오늘 꺼져 있어서 평생 동안 이 데이터를 읽는 방법을 알 수 없습니다.

다음을 사용하여 최신 데이터를 얻을 수 있습니다.

tail -f /var/log/syslog

그런데 오늘 오전 1시부터의 데이터에 어떻게 접근하나요? 아니면 어제부터요.

나는 시도했다:

grep mysqld /var/log/syslog | less

그런데 오전 6시 이후의 데이터가 표시됩니다.

나는 그런 다음 시도했다

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

하지만 그것은 나에게 ^의 긴 목록 외에는 아무것도 보여주지 않았습니다.

답변1

Syslog는회전정기적으로. 결과는 다음과 같습니다.

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

일반 및 순환 syslog 파일에서 "mysqld" 패턴을 grep하려면 압축되지 않은 파일과 압축된 파일을 grep할 수 있는 zgrep을 사용하십시오.

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

"mysql"과 특정 날짜가 포함된 행을 찾으려면 확장을 활성화하는 -E 스위치를 사용하십시오.정규 표현식:

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

관련 정보