메뉴 건너뛰기

XEDITION

MaraSong :: 정보와 기술 IT

Windows 오래된 로그파일 정리하기

2017.03.01 19:16

MaraSong 조회 수:2603

윈도에서 로그파일을 압축하거나 삭제해야 하는 경우에 사용할 수 있는 배치 스크립트 예시입니다.

 

먼저 시스템에 7z 이 설치되어 있어야 하고, 설치경로 (기본값 C:\Program Files\7-Zip) 를 PATH 에 추가해야 합니다.

파워쉘이 없는 경우가 있으니 배치로 작성하면 아래와 같습니다.

윈도 배치는 날짜함수가 없어서 계산해야 하는데, 이게 매월 1일에는 제대로 동작하지 않습니다.

(매월 1일 혹은 매월 초에는 하루전 날짜를 제대로 가져오지 못합니다)

 

아래에서는 set /a DD=1%DD%-102 이렇게 날짜 계산시 102 를 빼줬는데, 이러면 오늘이 2017-02-28 이니까

2017-02-26 로그를 압축하고 삭제하게 됩니다. (101 = 1일전, 102 = 2일전, 103 = 3일전, 104 = 4일전...)

echo %workdate% --> 20170226
echo %workdate2% --> 170226
echo %workdate3% --> 2017-02-26

 

@echo off
setlocal
rem MaraSong's Log file compress and delete script
rem Information sharing is important.

rem compress the yesterday logfile.
rem korean windows = delims=- 한글 윈도인 경우, 아래 for 문에서 델리미터를 - 로 지정해야 함.
rem chinese and english windows = delims=/ 영문, 중문 윈도인 경우, 아래 for 문에서 델리미터를 / 로 지정해야 함.

for /f "tokens=1-3 delims=- " %%A in ('echo %DATE%') do (set YY=%%A&SET MM=%%B&SET DD=%%C)

rem 101=1day ago, 102=2days ago, 103=3days ago...
set /a DD=1%DD%-102
set /a MM=1%MM%-100

rem echo %DD%, %MM%

if  %DD% GTR 0 goto end

set /a MM=%MM%-1

if %MM% GTR 0 goto leap

set /a DD=31
set /a MM=12
set /a YY=%YY%-1

REM echo %YY%, %MM%, %DD% -> 2016, 12, 31 goto end

:leap
set /a TT=%YY%/4
set /a TT=%TT%*4
rem echo %MM%, %DD%, %TT%
if %YY% equ %TT% goto mon%MM%
if %MM% equ 2 goto mon21
goto end

:mon1
:mon3
:mon5
:mon7
:mon8
:mon10
:mon12
set /a DD=31
goto end

:mon2
set /a DD=29
goto end

:mon21
set /a DD=28
goto end

:mon4
:mon6
:mon9
:mon11
set /a DD=30
goto end

:end
set /a DD=%DD% + 100
set DD=%DD:~1,2%
set /a MM=%MM% + 100
set MM=%MM:~1,2%
SET AA=0
SET BB=0
SET CC=0
SET FF=0

if "%*" == "" goto work_yesterday
rem echo %1
set workdate=%1
goto comp_7z

:work_yesterday
rem echo %YY%%MM%%DD%
set workdate=%YY%%MM%%DD%
goto comp_7z

:comp_7z
rem echo %workdate%
set workdate2=%workdate:~2,6%
set workdate3=%workdate:~0,4%-%workdate:~4,2%-%workdate:~6,2%
rem check the work date
echo %workdate%
echo %workdate2%
echo %workdate3%
pause

rem ----- log file ----- 로그 파일을 압축하는 경우
7z a -t7z D:\GameBin\LOG\Logfile.%workdate%.7z D:\GameBin\LOG\*LOG.%workdate2%_*.txt
del D:\GameBin\_LOG\*.%workdate2%_*.txt

rem ----- log dir ----- 로그 디렉토리를 압축하는 경우
7z a -t7z D:\GameBin\LOG\Logdir.%workdate%.7z D:\GameBin\LOG\LOG_%workdate3%
rmdir /Q /S D:\GameBin\LOG\LOG_%workdate3%

 

 

이것만 있으면 다양하게 응용이 가능하고, 이제 이 파일을 작업 스케줄러나 예약된 작업에 걸면 됩니다.

실제 사용할때에는 echo 나 pause 를 지워야 합니다. 주석은 rem 을 맨앞에 적으면 됩니다.

 

 

번호 제목 글쓴이 날짜 조회 수
32 [클럽하우스] 피씨에서 듣기 MaraSong 2021.02.21 85474
31 네트워크 - 와이어샤크 WireShark 유용한 필터식 [3] MaraSong 2019.01.28 32308
30 Mara Copy - Web Page Text Copy (Chrome Extenstion) [14] MaraSong 2020.04.17 14549
29 SpeedTest - 인터넷 속도 측정 사이트. 网速检查。インターネット速度測定. file MaraSong 2019.02.05 4952
28 MaraOCR - 웹페이지에서 영역을 지정하여 텍스트를 추출하고 이를 번역해주는 크롬 확장 프로그램 [3] MaraSong 2020.04.17 3095
27 MaraOCR 웹페이지 추천 MaraSong 2020.04.04 2180
26 [크롬/웨일 확장프로그램 추천] MaraOCR - 웹페이지 텍스트 추출 MaraSong 2020.04.21 2029
25 Mara Copy - 웹페이지에서 텍스트만 뽑아내서 텍스트를 복사할 수 있도록 만든 크롬 확장 프로그램. file MaraSong 2019.01.23 1555
24 MaraOCR - 웹페이지에서 영역을 지정하여 텍스트를 추출하고 이를 번역해주는 웨일 확장 프로그램 MaraSong 2020.04.14 1476
23 @MaraOCRbot 이미지에서 텍스트를 추출하고 한국어로 번역해주는 텔레그램 봇 소개 MaraSong 2019.08.13 1340
22 @MaraOCRbot 이미지에서 텍스트를 추출하고 한국어로 번역해주는 텔레그램 봇 소개 MaraSong 2019.08.07 1229
21 android emulator 안드로이드 애뮬레이터 MaraSong 2016.05.28 1168
20 중국에서 연결 잘되는 네임서버 - China DNS MaraSong 2016.05.23 1163
19 @MaraOCRbot 이미지에서 텍스트를 추출하고 한국어로 번역해주는 텔레그램 봇 소개 file MaraSong 2019.02.04 1138
18 세이프캐스트 SafeCast 방사능 지도 - 일본어 사이트 file MaraSong 2019.02.24 1058
17 광고없는 인스타그램 이미지/사진/동영상 저장 사이트 MaraSong 2020.04.26 1029
16 깃강좌 추천 - 백로그 빽로그 https://backlog.com/git-tutorial/kr MaraSong 2019.04.23 934
15 @MaraTTSBot - 사진에서 한글을 추출하고, 글자를 읽어주는 텔레그램 봇 소개. file MaraSong 2019.03.26 915
14 [쿠팡] 아이패드 프로 - 사전예약 (아직 준비중) MaraSong 2021.05.12 883
13 인터넷 불법 정보, 과연 차단할 수 있을까 - KT 음란물 차단을 바라보며. MaraSong 2019.02.13 846





* 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.

위로