본문 바로가기

스크립트

IIS 로그 압축 스크립트

반응형

IIS 로그 압축 스크립트

'Do not use {{

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each objItem in colItems
    dtmLocalTime = objItem.LocalDateTime
    dtmMonth = Mid(dtmLocalTime, 5, 2)
    dtmDay = Mid(dtmLocalTime, 7, 2)
    dtmYear = Mid(dtmLocalTime, 3, 2)
Next

dtmDay = dtmDay - 1
If dtmDay < 10 Then dtmDay = "0" & dtmDay

'}} Do not use

zipcmd = """C:\Program Files\7-Zip\7z.exe"""
workdir = "D:\IIS_Logs\W3SVC1\"

Set WshShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

For i = 1 To 30
    temp = Replace( DateAdd( "d", -i, Date() ), "-", "" )
    yy = Mid( temp, 3, 2 )
    mm = Mid( temp, 5, 2 )
    dd = Mid( temp, 7, 2 )
    'Wscript.Echo yy & mm & dd

    '일 단위 압축
    strLogFile = "u_ex" & yy & mm & dd & ".log"
    'Wscript.Echo workdir & strLogFile
    If fso.FileExists( workdir & strLogFile ) Then
        'Wscript.Echo zipcmd & " a """ & workdir & strLogFile & ".gz"" """ & workdir & strLogFile & """"
        WshShell.Run zipcmd & " a """ & workdir & strLogFile & ".gz"" """ & workdir & strLogFile & """", 0, true
        fso.DeleteFile workdir & strLogFile
    End If

    '시간 단위 압축
    For h = 23 To 0 Step -1
        hh = CStr( h )
        If Len( hh ) < 2 Then hh = "0" & CStr( h )
        'Wscript.Echo yy & mm & dd && hh

        strLogFile = "u_ex" & yy & mm & dd & hh & ".log"
        'Wscript.Echo workdir & strLogFile
        If fso.FileExists( workdir & strLogFile ) Then
            'Wscript.Echo zipcmd & " a """ & workdir & strLogFile & ".gz"" """ & workdir & strLogFile & """"
            WshShell.Run zipcmd & " a """ & workdir & strLogFile & ".gz"" """ & workdir & strLogFile & """", 0, true
            fso.DeleteFile workdir & strLogFile
        End If
    Next
Next

 

위의 스크립트는 Windows 환경에서 작동하는 VBScript입니다. 주석이 추가되어 각 코드 블록이 설명되었으며, 주석 내용에 따라 파일 경로 및 작업 디렉토리를 설정하고 일 단위 및 시간 단위의 로그 파일을 압축하고 삭제합니다. 또한, WScript.Shell 및 Scripting.FileSystemObject를 사용하여 명령어를 실행하고 파일을 관리합니다.

 

728x90
반응형