메뉴 건너뛰기

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 중국에서 연결 잘되는 네임서버 - China DNS MaraSong 2016.05.23 1163
31 android emulator 안드로이드 애뮬레이터 MaraSong 2016.05.28 1168
30 텔레그램 다운, 서비스 기상도 file MaraSong 2019.01.21 703
29 깃헙 Github 을 이용한 무료, 깔끔 홈페이지 만들기 file MaraSong 2019.01.23 658
28 Mara Copy - 웹페이지에서 텍스트만 뽑아내서 텍스트를 복사할 수 있도록 만든 크롬 확장 프로그램. file MaraSong 2019.01.23 1555
27 네트워크 - 와이어샤크 WireShark 유용한 필터식 [3] MaraSong 2019.01.28 32311
26 @MaraOCRbot 이미지에서 텍스트를 추출하고 한국어로 번역해주는 텔레그램 봇 소개 file MaraSong 2019.02.04 1138
25 SpeedTest - 인터넷 속도 측정 사이트. 网速检查。インターネット速度測定. file MaraSong 2019.02.05 4952
24 노스맵 - 실시간으로 인터넷 공격상황을 보여주는 사이트 MaraSong 2019.02.06 565
23 인터넷 불법 정보, 과연 차단할 수 있을까 - KT 음란물 차단을 바라보며. MaraSong 2019.02.13 846
22 세이프캐스트 SafeCast 방사능 지도 - 일본어 사이트 file MaraSong 2019.02.24 1058
21 녹스 Nox 바탕화면 아이콘이 사라지는 현상 file MaraSong 2019.03.21 764
20 @MaraTTSBot - 사진에서 한글을 추출하고, 글자를 읽어주는 텔레그램 봇 소개. file MaraSong 2019.03.26 915
19 ZIO GSB2460MSW - 지오 스위치, SSH 접속하기 file MaraSong 2019.04.04 756
18 깃강좌 추천 - 백로그 빽로그 https://backlog.com/git-tutorial/kr MaraSong 2019.04.23 934
17 구글 유저라면 도움되는 URL MaraSong 2019.04.25 794
16 모바일 앱 추천 사이트 - 탭아이오 MaraSong 2019.07.24 786
15 @MaraOCRbot 이미지에서 텍스트를 추출하고 한국어로 번역해주는 텔레그램 봇 소개 MaraSong 2019.08.07 1229
14 @MaraOCRbot 이미지에서 텍스트를 추출하고 한국어로 번역해주는 텔레그램 봇 소개 MaraSong 2019.08.13 1340
13 MaraOCR 웹페이지 추천 MaraSong 2020.04.04 2180





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

위로