달력

1

« 2020/1 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
2017. 2. 28. 13:34

오래된 로그파일 정리하기 Tech/Windows2017. 2. 28. 13:34

7z.comp.marasong.bat


윈도에서 로그파일을 압축하거나 삭제해야 하는 경우, 배치 스크립트 예시.

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

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

윈도 배치는 날짜함수가 없어서 계산해야 한다.


아래에서는 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 을 맨앞에 적으면 된다.


Posted by 멋지다마라송

댓글을 달아 주세요

윈도에서 가끔 네트워크가 비정상 동작을 하는 경우가 있다.

딱히 에러는 보이지 않는데, 어떤 연결은 되다 말다를 반복하고, 어떤 연결을 안되는 경우가 있다.

그럴때 아래와 같이 수정하면 된다. (아무래도 윈도가 비정상인 경우로 보임)


netsh winsock reset
sfc /scannow

Posted by 멋지다마라송

댓글을 달아 주세요

2017. 2. 16. 21:32

XAMPP - 윈도용, 한글설정 php.ini Tech/Windows2017. 2. 16. 21:32

XAMPP - 윈도용,

php.ini

 한글설정 php.ini

TAG php, php.ini, xampp
Posted by 멋지다마라송

댓글을 달아 주세요