문서 홈 → 애플리케이션 개발 → MongoDB 매뉴얼
로그 회전
정의
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
참고
이 명령은 M0, M2, M5 및 M10 클러스터에서 제한적으로 지원 됩니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.adminCommand( { logRotate: <integer or string>, comment: <string> } )
명령 필드
이 명령은 다음 필드를 사용합니다.
필드 | 유형 | 설명 |
---|---|---|
logRotate | 정수 또는 문자열 | 순환할 로그는 다음과 같습니다.
|
comment | 문자열 | 선택 사항입니다. 로그 순환 시 서버에서 로그 파일 및 감사 파일에 기록한 메시지입니다. |
mongod
프로세스에 SIGUSR1
신호를 전송하여 로그를 순환시킬 수도 있습니다.
예를 들어 실행 중인 mongod
인스턴스의 프로세스 ID(PID)가 2200
인 경우 다음 명령은 Linux에서 해당 인스턴스에 대한 로그 파일을 순환시킵니다.
kill -SIGUSR1 2200
제한 사항
를 사용하려면
mongod
--logpath [file]
logRotate
인스턴스가 옵션으로 실행 중이어야 합니다.감사 로그를 교체하려면 감사를 활성화해야 합니다.
행동
systemLog.logRotate
설정 또는 --logRotate
옵션은 logRotate
의 동작을 지정합니다.
systemLog.logRotate
또는 --logRotate
이(가) rename
로 설정된 경우, logRotate
은(는) 파일 이름에 현재 타임스탬프를 추가하여 기존 로그 파일의 이름을 변경합니다. 추가된 타임스탬프의 형식은 다음과 같습니다.
<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>
그런 다음 logRotate
은(는) mongod
또는 mongos
)로systemLog.path
설정에서 원래 지정한 것과 동일한 이름으로 새 로그 파일을 생성합니다.
systemLog.logRotate
또는 --logRotate
이(가) reopen
로 설정되면 logRotate
은(는) 일반적인 Linux/Unix 동작을 따르며, 단순히 로그 파일을 닫은 다음 같은 이름의 로그 파일을 다시 엽니다. reopen
를 사용하면 mongod
는 회전하기 전에 다른 프로세스가 파일 이름을 바꾸고 다시 열면 새 파일이 생성될 것으로 예상합니다.
예제
다음 예에서는 서버 로그와 감사 로그를 모두 순환시킵니다.
db.adminCommand( { logRotate: 1 } )
다음 예에서는 감사 로그만 순환시키고 순환 시 로그 파일에 사용자 지정 메시지를 제공합니다.
db.adminCommand( { logRotate: "audit", comment: "Rotating audit log" } )