1. 날짜 시간 구하기

gettime.bat

간단히 YYYYMMDD_HHMM 방식의 날짜를 구하는 방법
아래와 같이 시간을 구할 수 있다.

@echo off
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set hour=%time:~0,2%
set minute=%time:~3,2%
set daytime=%year%%month%%day%_%hour%%minute%
echo %daytime%

%date:~A,B%의 의미
-> date 명령의 결과는 YYYY-MM-DD형태 나타난다 (date /t 로 확인 가능)
따라서 “:” 뒤의 ~A는 A번째 다음부터 “,” 뒤의 B만큼을 의미한다.
위의 year와 같이 ~0,4의 의미는 0번째 다음부터(1번째부터) 4만큼이니 네 자리 년도를 표시하게 된다. 년도를 2자리로 하고 싶다면 ~2,2 로 사용하면 된다.

.\gettime.bat 20160523_1800

 

2. JEUS GC로그 백업을 위한 적용

jeus.cmd 배치파일 변경


GC로그의 위치가 C:\hr1_gc.log 라고 한다면 위의 배치파일을 응용하여 jeus.cmd 배치파일에 아래와 같이 빨간색 부분을 추가해 주면 기동시 gclog의 백업이 가능하다.

(앞뒤생략)

REM execute jeus with echo
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set hour=%time:~0,2%
set minute=%time:~3,2%
set bak_cmd=copy C:\hr1_gc.log C:\hr1_gc.log_%year%%month%%day%_%hour%%minute%
%bak_cmd%    -> 실제 백업 명령을 수행하는 부분
set bak_cmd=   -> 사용한 명령 초기화
@echo on
"%JAVA_HOME%\bin\java" %VM_OPTION% %SESSION_MEM% ^
-Xbootclasspath/p:"%JEUS_HOME%\lib\system\extension.jar" ^

만약 컨테이너가 여러 개라면 bak_cmd를 여러 개 만들고 적용해주면 된다.