로그 회전
정의
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
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
제한 사항
logRotate
(을)를 사용하려면mongod
인스턴스가--logpath [file]
옵션으로 실행되어야 합니다.감사 로그를 교체하려면 감사를 활성화해야 합니다.
행동
systemLog.logRotate
설정 또는 --logRotate
옵션은 logRotate
의 동작을 지정합니다.
systemLog.logRotate
또는 --logRotate
가 rename
으로 설정된 경우 logRotate
은 파일 이름에 현재 타임스탬프를 추가하여 기존 로그 파일의 이름을 바꿉니다. 추가된 타임스탬프의 형식은 다음과 같습니다.
<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>
그런 다음 logRotate
는 원래 systemLog.path
설정에서 mongod
또는 mongos
로 지정된 것과 동일한 이름을 가진 새 로그 파일을 생성합니다.
systemLog.logRotate
또는 --logRotate
가 reopen
으로 설정되면 logRotate
는 일반적인 Linux/Unix 동작을 따르며, 단순히 로그 파일을 닫은 다음 같은 이름의 로그 파일을 다시 엽니다. reopen
을 사용하는 경우 mongod
는 회전하기 전에 다른 프로세스가 파일 이름을 바꾸고 다시 열면 새 파일이 생성될 것으로 예상합니다.
예시
다음 예에서는 서버 로그와 감사 로그를 모두 순환시킵니다.
db.adminCommand( { logRotate: 1 } )
다음 예에서는 감사 로그만 순환시키고 순환 시 로그 파일에 사용자 지정 메시지를 제공합니다.
db.adminCommand( { logRotate: "audit", comment: "Rotating audit log" } )