2011-08-02 14 views
47

지정된 요일보다 오래된 로그 파일을 자동으로 삭제하는 IIS 7의 기능이 있습니까?IIS 7 로그 파일 자동 삭제?

나는 스크립트를 작성하여 (그리고 매주 실행) 또는 Windows 서비스를 통해이 작업을 수행 할 수 있다는 것을 알고 있지만 inbuilt 기능이 있는지 궁금 해서요.

또한 현재는 많은 양의 공간이 겹쳐서 로그 오프됩니다. 그게 문제가 될까요?

+0

내가 아는 것은 아니며 동의해야합니다. 필자는 PowerShell 스크립트를 사용하여 압축 및 보관 처리합니다. 로그 파일은 인보이스 발행 통계 또는 해킹 시도 조사에 유용 할 수 있습니다. –

+0

모든 upvotes, 즐겨 찾기 및 답변 들어,이 명확하게 주제 밖이며 [서버 오류] (http://serverfault.com)에 속합니다. –

답변

90

관리 도구> 작업 스케줄러를 사용하여 매일 실행되는 작업을 만들 수 있습니다.

은 당신의 작업은 다음 명령을 실행하기 위해 설정 :

forfiles /p "C:\inetpub\logs\LogFiles" /s /m *.* /c "cmd /c Del @path" /d -7 

이 명령은 IIS7입니다을하고, 1 주일 이상 모든 로그 파일을 삭제합니다.

/d arg 값을 변경하여 일 수를 조정할 수 있습니다.

+0

이것은 내가 필요한 것입니다. 로그는 이미 오프 사이트에 백업되므로이 작업으로 오래된 로그를 삭제하면 큰 도움이됩니다. – mikeschuld

+1

간단하고 효과적인 :) – Spence

+2

완벽! 그리고 또 다른 큰 플러스'forfiles' 명령, 감사를 알고 만들기 : –

1

비슷한 해결책이지만 powershell. 내가 인수로 다음 행 PowerShell을 실행하는 작업을 설정 한

..

dir D:\IISLogs |where { ((get-date)-$_.LastWriteTime).days -gt 15 }| remove-item -force 

그것은 D에있는 모든 파일을 제거

: IISLOgs 나이가 15 일 이상 폴더 \.

3

한 줄의 배치 스크립트 :

forfiles /p C:\inetpub\logs /s /m *.log /d -14 /c "cmd /c del /q @file" 

는 로그 파일을 삭제하기 전에 주위 응답 일 수를 변경하려면/d 스위치를 수정합니다./s 스위치는 하위 디렉터리도 되풀이합니다.

참조 : http://debug.ga/iis-log-purging/

+0

굉장 - 고마워요 - 잘 했어! – cvocvo

0

또 다른 가능한 파워 쉘 한 줄 : 경우 $_.LastWriteTime에서

Get-ChildItem -Path c:\inetpub\logs\logfiles\w3svc*\*.log | where {$_.LastWriteTime -lt (get-date).AddDays(-180)} | Remove-Item -force 

가 대신 $PSItem.LastWriteTime를 사용할 수 있습니다 작동하지 않습니다.

IIS LogFiles 폴더의 HDD 사용 공간에 대한 자세한 정보와 제안 사항은 read this post입니다.