문제

일일 IIS 로그를 모아서 월별로 압축 할 스크립트 / 배치를 작성하고 싶습니다.

ex yymmdd .log 형식의 ex080801.log

ex080801.log-ex080831.log가 압축되고 로그 파일이 삭제됩니다.

이렇게하는 이유는 무거운 사이트에서 하루 동안 로그 파일이 500MB에서 1GB가 될 수 있으므로 압축하여 98 % 압축하고 실제 로그 파일을 덤프하기 때문입니다.Webtrend를 사용하여 로그 파일을 분석하고 zip 파일로 읽을 수 있습니다.

이 스크립트를 작성하는 방법에 대한 아이디어가 있거나 코드를 공유하려는 사람이 있습니까?

도움이 되었습니까?

해결책

파일을 압축하려면 명령 줄 도구가 필요합니다.무료이며 사용하기 쉬운 7-Zip 을 권장합니다.자체 포함 된 명령 줄 버전 (7za.exe)이 가장 이식성있는 선택입니다.

다음은 로그 파일을 압축하고 나중에 삭제하는 두 줄 배치 파일입니다. 라코 디스

첫 번째 매개 변수는 4 자리 연도와 월이며 두 번째 매개 변수는 로그가 포함 된 디렉토리 경로입니다.예 : ziplogs.bat 0808 c:\logs

더 정교하게 만들 수 있습니다 (예 : 파일 이름을 검색하여 보관할 달을 결정).입력 텍스트를 검색하려면 Windows FINDSTR 명령을 확인하십시오.정규식.

다른 팁

다음은 기본적으로 David를 적용하고 지난 달의 로그를 압축하고 이동하고 원본 로그 파일을 삭제하는 스크립트입니다.이것은 Apache 로그에도 적용 할 수 있습니다. 이것의 유일한 문제는 DOS 날짜 함수가 요일을 출력하는 경우 replace 명령을 편집해야한다는 것입니다. 7-zip도 설치해야합니다.

IISlogslite를 다운로드 할 수도 있지만 매일의 파일을 내가 유용하지 않은 단일 zip 파일로 압축합니다.똑같은 일을하는 웹에 떠 다니는 vbscript가 있습니다. 라코 디스

다음과 같은 스크립트를 사용합니다.Gzip은 cygwin 프로젝트에서 가져 왔습니다.대신 zip 도구를 사용하도록 구문을 수정할 수 있다고 확신합니다."skip"인수는 보관하지 않을 파일의 수입니다. '현재'디렉토리에 11 일을 보관합니다. 라코 디스

DotNetZip 에서 명령 줄 유틸리티 패키지를 가져와 스크립트에서 zip을 만드는 도구를 얻을 수 있습니다..명령 줄에서 실행되고 zip 파일에 파일이나 디렉터리를 추가하는 Zipit.exe라는 멋진 도구가 있습니다.빠르고 효율적입니다.

더 나은 옵션은 PowerShell 내에서 압축을 수행하는 것입니다. 라코 디스

우리는이 powershell 스크립트를 사용합니다 : http : // gallery.technet.microsoft.com/scriptcenter/31db73b4-746c-4d33-a0aa-7a79006317e6

7-zip을 사용하고 파일을 삭제하기 전에 확인합니다.

Regex가 트릭을 수행합니다 ... perl / python / php 스크립트를 만들어 작업을 수행합니다 ..
Windows 배치 파일이 정규식을 수행 할 수 없다고 확신합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top