아파치 로그파일을 날짜별로 나누는 방법, 일주일 지난 파일 삭제하는 스크립트

.

Apache에서 Log 파일을 자동으로 나누는 방법입니다.
기본으로  로그가 단일 파일로 쌓이게 되는데  서비스중인 경우 파일정리를 할 수 없으므로 
날짜별로 로그파일이 생성되도록  설정해주어야 합니다.


1. 설정 파일 확인하기
우선 아파치의 설정파일이 있는 경로에 들어가보세요 (시스템별로 다를 수있습니다)
C:Apache2confhttpd.conf


2. 파일내의 아래 내역 수정하기 (없으면 추가하기)



#ErrorLog logs/error.log
ErrorLog “|bin/rotatelogs.exe logs/error.%Y%m%d.log 86400”


#CustomLog logs/access.log
customLog “|bin/rotatelogs.exe logs/access.%Y%m%d.log 86400”


3. Apache 서비스 재 시작.

자 그럼   이제부터 일정기간 지난 로그파일을 삭제하여  로그파일을 정리해보도록 하겠습니다.
아래의 스크립트 파일을  작업스케쥴러를 통해  매일 야간에 실행되도록 하면  됩니다
6166119530.vbs


스크립트 내역은 아래와 같습니다.  그냥 실행하면  아마도 대부분 실행이 안될겁니다.
용도에 따라   폴더명 및  날짜를 수정해서 사용하세요
아래 스크립트는  협력사의 직원분으로부터  받은 것인데 유용해서 공유합니다.



Option Explicit


‘ 폴더명, 날짜 지정
Const strRootPath = “c:Apache2logs”
Const nDays = 7


Dim oFSO
Set oFSO = CreateObject(“scripting.FileSystemObject”)


Dim oFolder, oSubFolder
Set oFolder = oFSO.GetFolder(strRootPath)


Dim oFile


‘지정된 폴더 안의 파일 삭제
For Each oFile In oFolder.Files
If Int(Now() – oFile.DateLastModified) >= nDays Then
oFile.Delete
End If
Next

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.