시스템 로그에서 이전 데이터에 액세스

시스템 로그에서 이전 데이터에 액세스

저는 최근 Windows에서 Linux 서버로 마이그레이션한 다양한 MySQL 데이터베이스를 관리하는 일을 담당하고 있습니다. 그들은 잘 돌아가고 모든 것이 괜찮습니다. 그런데 오늘 아침에 오류 로그를 확인해야 했는데 지금은 기록되어 있습니다 /var/log/syslog.

내 시스템 관리자가 오늘 퇴근했는데 평생 동안 이 데이터를 읽는 방법을 모르겠습니다.

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

tail -f /var/log/syslog

그런데 오늘 아침 1시 이후에는 어떻게 데이터에 접근할 수 있나요? 아니면 어제부터요.

나는 시도했다:

grep mysqld /var/log/syslog | less

그런데 이건 오전 6시 이후의 데이터를 보여줍니다.

그런 다음 시도했습니다.

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

하지만 이것은 나에게 긴 목록만을 보여줍니다 ^

답변1

시스템 로그 획득회전정기적으로 하세요. 결과는 다음과 같습니다.

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

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

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

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

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

관련 정보