[MongoDB] log rotate

DataBase 2012. 8. 30. 14:44




적어도 내가 알기로 현재까지 MongoDB 자체적으로 제공되는 쌈박한 로그 로테이션이 아직 없다.



http://www.mongodb.org/display/DOCS/Logging


여기 보면 나름대로 log rotate 하는 방법들이 나와 있는데,

shard까지 풀 구성된 클러스터를 운영하는 상황에선 그냥


1. log rotate 명령어를 이용하여 로그 파일을 분리하고

2. 분리된 로그파일을 꽉꽉 압축해서 어딘가에 짱박는다.


이 방법을 이용하기로 했다.




MongoDB shell 에 접속하여 logRotate 명령어를 날릴 js 파일은 대강 아래처럼 만들고.


var db_admin = db.getMongo().getDB('admin');

a.auth('아이디', '비밀번호');

a.runCommand('logRotate');



shell script 파일을 하나 만들어서,


/MONGODB_BIN/mongo hostname:port LOG_ROTATE.js


같은 식으로 필요한 프로세스마다 접속해서 실행해주면 로그파일이 분리된다.



crontab 을 이용해서 원하는 기간단위로 shell script를 실행시켜주면 수동 로그 로테이션 완성.







Posted by bloodguy
,