저는 10분마다 로그를 확인하고 중대한 오류가 있는 경우 특정 주소로 이메일을 보내는 스크립트를 작성 중입니다. 가능한 한 좀 더 우아하게 해결하고 싶은 문제가 있습니다. 로그를 보고 싶지만 로그 /var/log/mysql/error.log
가 여러 개 있습니다.
예:
- 오류 기록
- error.log.1.gz
- error.log.2.gz
- error.log.3.gz
내 관점에서는 이 문제를 해결하는 두 가지 방법이 있습니다. 해결 방법 1:
try:
open("/var/log/mysql/error.log", "rb")
except IOError:
try:
open("/var/log/mysql/error.log", "rb")
except IOError:
....
이 작업에는 시간이 좀 걸리며 try/except
이 작업을 수행하는 더 좋은 방법이 있을 수 있습니다. 나는 몇 가지를 알아내려고 노력했지만 몇 가지도 아니고 try/except
행운도 없었습니다. 너희들이 나에게 올바른 방향을 알려줄 수 있니? 완전한 답변을 제공하지 마십시오.
해결 방법 2:
로그를 하나의 로그로 통합합니다. 이렇게 하면 여러 개의 파일이 아닌 하나의 파일만 열면 됩니다 try/except
. 이 솔루션은 더욱 우아해 보입니다. mysql 페이지를 읽었 error.log
지만 내 질문에 대한 답변을 찾지 못했습니다.
약간의 배경 지식이 필요한 것 같습니다. 오늘이 Python을 배운 지 3일째이고, 저는 이미 MySQL의 기본 사항을 마스터했습니다.
답변1
헤헤헤헤헤. MySql의 모든 로그 파일은 logrotate의 작업입니다. 매주 교대로 복사가 이루어집니다. 최신 로그가 기록된다는 것은 오래된 로그를 error.log
의미합니다 error.log.1.gz
.
네, 제가 바보가 된 것 같아요. 저와 같은 고민을 하시는 분이 계실까봐 여기에 남깁니다.