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를 여러 개 만들고 적용해주면 된다.