문 서 명 : Windows Log 압축하는 배치명령

문 서 버 전 : Ver_1.0

문 서 구 분 :  Manual  Summary

작 성 일 : 2017 05 04

작 성 자 : 우리들의 삶

테 스 트 환 경 : Windows 2012 R2

출 처 : 


본 문서는 forfiles 명령과 zip.exe 파일을 이용하여 윈도우에 생기는 로그들을 자동으로 압축하고, 기간 단위로 삭제하는 명령을 만들어 본다.

먼저 압축하기 위해서는 선행과제로 zip.exe 가 설치되어 있어야 한다. 

zip.exe는 실제 설치파을은 아니고, 압축(zip) 파일을 만들 수 있게 하는 프로그램인데, CLI 환경에서 개별동작 한다.


다음은 상황별 예시문이다.


1. C:\log 폴더에서 파일명이 Archive 로 시작하고, .evtx로 끝나는 수정일이 0일된 파일들을 모두 압축하라

forfiles /P C:\log /M Archive*.evtx /D -0 /C "cmd /c C:\zip.exe -rm @file.zip @file"
/P : 경로, 지정하지 않을 시 cmd가 위치한 현재 디렉터리가 기준이 된다.
/M : 파일명 조건 
/D : 수정일 기준 기간 예를들어 30일 지난 파일을 추리고 싶을 땐 -30 을 입력
/C : forfiles 수행 후 실행될 명령으로 " "(따움표)를 붙여야 처리된다.
 @file    - 파일 이름을 반환합니다.
 @fname   - 확장명 없이 파일 이름을 반환합니다.
 @ext     - 파일의 확장명만 반환합니다.
 @path    - 파일의 전체 경로를 반환합니다.
 @relpath - 파일의 상대 경로를 반환합니다.
 @isdir   - 파일 형식이 디렉터리인 경우 "TRUE"를 반환하고 파일인 경우 "FALSE"를 반환합니다.
 @fsize   - 파일의 크기(바이트)를 반환합니다.
 @fdate   - 파일을 마지막으로 수정한 날짜를반환합니다.
 @ftime   - 파일을 마지막으로 수정한 시간을 반환합니다.

zip.exe -rm : 파일을 압축할때 원본(압축이 되지 않는 파일)을 없애고, 압축파일만 남긴다.



forfiles /P D:\test /D -4 /C "cmd /c rmdir /s /q @file"
D:\test 에 있는 4일 지난 폴더를 삭제한다


forfiles /P D:\test /M Archive*.evtx /D -4 /C "cmd /c del /q @file"
D:\test 폴더 내 파일명이 Archive로 시작하고, .evtx 로 끝나는 4일 지난 파일을 삭제한다.


TIP : 리눅스 압축하기 

find /home/user/rep/tests/data/archive/* -maxdepth 0 -type d -exec zip -r "{}" "{}" \;




윈도우 자동압축, 윈도우 로그 압축, 윈도우 로그, 윈도우 로그 압축방법, 윈도우 압축 배치, 윈도우 압축 배치파일, 윈도우 로그 자동 압축 배치

+ Recent posts