320x100
|
설명 : Mercury/32 는 무료 메일 서버 프로그램 입니다
Mercury/32 관리상 메일을 주고 받거나 혹은 스팸 , 거부 등에 대한 로그가 남게 되는데
이를 보기 편하게 자동으로 생성되게 하는방법과, 로그파일의 갯수를 자동으로 줄이는 스크립트를
설명합니다
난이도 : ★★★☆☆
일단 Mercury/32 에 모든 작업에 대한 로그가 남습니다
다만 로그가 분류가 안되고 모든 날자에 대한 로그가 한파일로 만들어져서
로그파일이 비대해지는경우가 있는데요
날짜별로 분류하고 MercuryS SMTP Server , MercuryP POP3 Server , SpamHalter (스팸) 에 대한
로그를 LOGS 라는 폴더에 날짜별로 모이도록 해보겠습니다
이러면 잘못된 상황에서 로그분석도 용이하게 될것입니다
SMTP 로그 경로 바꾸기
Mercury/32 -> Configuration -> MercuryS SMTP Server
Logging 항목에 General logging 부분에 경로를 수정하여줍니다
D:\MERCURY32\Logs\SMTP_~Y~M~D.LOG
위와같이하면 (Mercury/32가 D드라이브에 Mercury32 라고 설치되어있을시)
Logs 폴더에 SMTP_년월일.LOG 순으로 저장이 되게 됩니다
가능하면 8.3 규칙을 따르도록 하지만 저렇게 해도 별 상관은 없더군요
POP3 로그 경로 바꾸기
Mercury/32 -> Configuration -> MercuryP POP3 Server
똑같이 저 경로 부분을
D:\MERCURY32\LOGS\POP_~Y~M~D.LOG
로 해줍니다 설명은 생략하겠습니다
이 로그경우는 아웃룩 등으로 받아가는 정보를 저장하는 경우로 중요도 비중이 낮지만
혹시라도 다른외부에서 받아간것을 확인할 시에는 필요합니다
SpamHalter 로그 경로 수정
Mercury/32 -> Configuration -> SpamHalter
Logs/reporting 탭에서
Select logfile directory... 버튼을 클릭한뒤 로그를 저장할 폴더를 선택후
오른편의 Log filename: 에
spamwall_~Y~M~D.LOG 라고 적어줍니다
모두 적용후에는 Log 폴더에 가보면
이처럼 날짜별로 로그가 모이는것을 확인할 수 있습니다 다만 자동으로 기간이
지나면 삭제하는 옵션은 없으므로 수동으로 지워주거나 혹은 자동으로 지우도록
스크립트를 작성해서 실행해야합니다
// 추가
로그 자동 삭제 스크립트 (7일간 데이터만 보관하도록 설정하기)
위와 같이 설정할 경우
POP_현재날짜.LOG
SMTP_현재날짜.LOG
spamwall_현재날짜.LOG
가 차곡차곡 생기게 됩니다 다만 자동으로 지우는 설정은 없기에 가만히 두면 파일 갯수가
하루마다 계속 증가하게 됩니다
이걸 7일간의 데이터만 보관하고 나머지 기간이 지난 파일은 지우도록 해보겠습니다
mercury32_log_7days.js 다운로드 및 스크립트 내용
///////////////////////////////////////////////////////////////////// // 메일서버에 MERCURY32\LOGS 폴더의 로그를 7일데이터만 // 보관하기 위한 스크립트 // 제작일 : 08.01.28 // 제작자 : 박춘호 ////////////////////////////////////////////////////////////////////// var fso = new ActiveXObject("Scripting.FileSystemObject"); var objFolder = fso.GetFolder("D:/Mercury32/logs"); var fc = new Enumerator(objFolder.files); function DeleteFile(filespec) { var fso; fso = new ActiveXObject("Scripting.FileSystemObject"); fso.DeleteFile(filespec); } function minus(num) { var now = new Date(); now = new Date(now.getYear(),now.getMonth(),now.getDate()-num); n = ((now.getYear()*10000+(now.getMonth()+1)*100+now.getDate())+"").slice(2); return(n); now = null; } for(var i=7; i<30; i++) // 현재부터 7일간 데이터는 보관 7일 전 30일전 이후의 내용은 삭제 { var filesrc0 = objFolder+"/"+"POP_"+minus(i)+".LOG"; var filesrc1 = objFolder+"/"+"SMTP_"+minus(i)+".LOG"; var filesrc2 = objFolder+"/"+"spamwall_"+minus(i)+".LOG"; if(fso.FileExists(filesrc0)) DeleteFile(filesrc0); if(fso.FileExists(filesrc1)) DeleteFile(filesrc1); if(fso.FileExists(filesrc2)) DeleteFile(filesrc2); } fso = null;
mercury32_log_7days.js 의 내용을 보시고 있습니다
D:/Mercury32/logs 이 부분은 Mercury32 의 로그파일이 있는 경로입니다
js 파일이므로 단독으로 실행이 가능하며 윈도우 스케쥴러에 예약을 시켜서 매주마다 또는 한달마다 실행하게
해놓는다면 로그파일이 계속 늘어나는것을 정리 할 수 있습니다
|
반응형
'소프트웨어 > 서버관련' 카테고리의 다른 글
Bandwidth Monitor (0) | 2008.04.08 |
---|---|
Microsoft SQL Server Management Studio Express (4) | 2008.02.18 |
Windows 2000 에서 137Gb 이상의 하드디스크 인식시키기 (3) | 2008.01.23 |
Spamwall을 이용한 머큐리(Mercury/32) 스팸방지 (0) | 2007.11.16 |
Overview of Mercury/32 (0) | 2007.11.15 |
댓글