nnCron lite 이용한 스케줄링
소프트웨어 유틸리티 cron은 유닉스 계열 컴퓨터 운영 체제의 시간 기반 잡 스케줄러이다. 따라서 이를 윈도우에서 활용하기 위해서는 nnCron lite를 사용해야 한다. 아래 주소에서 'nncronlt117.exe'를 다운로드 받아 사용할 수 있다.
http://www.nncron.ru/download.shtml
nnSoft: download
com_ports.spf 931 12 Dec 2008 Tests the specified COM-port and returns TRUE if the port is free or returns FALSE if the port is busy (used by some devices or applications). crc32.spf 1.4K 12 Dec 2008 Generates a string, that contains checksum (crc32) of a
www.nncron.ru
기본 값 조정없이 다운로드를 마치면 C드라이브 > ProgramFiles(x86) > cron 경로에서 cron.tab 파일을 발견할 수 있다. 이 파일을 메모장이나 노트패드 플러스를 관리자 권한으로 실행해주면 된다.
그리고 실행시킨 명령어를 cron 표현식을 이용해 작성해주면 된다. 실행하고자 하는 파일의 경로를 다음과 같이 넣어주면 사용자가 지정한 시간/빈도에 맞춰 파일을 실행할 수 있다, 아래 예시는 매 분마다 현재 날짜 와 시각을 출력한다,
위와 같이 cron를 이용해 스케쥴링을 진행할 수 있고 추가로 스프링 부트를 활용하여 콘솔에 출력할 수 있다.
이때 nnCron에서 사용하는 표현식과 스프링에서 사용하는 표현식이 조금 다르니 유의해야 한다.
[cron 표현식]
크론 표현식: 필드
초(Seconds)
- 값 범위 : 0 ~ 59
- 허용 특수문자 : * , - /
- 리눅스/유닉스 크론탭에서는 사용되지 않는다.
분(Minutes)
- 값 범위 : 0 ~ 59
- 허용 특수문자 : * , - /
시(Hours)
- 값 범위 : 0 ~ 23
- 허용 특수문자 : * , - /
일(Day of month)
- 값 범위 : 1 ~ 31
- 허용 특수문자 : * , - ? L W
월(Month)
- 값 범위 : 1 ~ 12 또는 JAN ~ DEC
- 허용 특수문자 : * , - /
주(Day of week)
- 값 범위 : 10 ~ 6 또는 SUN ~ SAT
- 허용 특수문자 : * , - ? L #
년(Year)
- 값 범위 : 생략 또는 1970 ~ 2099
- 허용 특수문자 : * , - /
- 리눅스/유닉스 크론탭에서는 사용되지 않는다.
크론 표현식: 특수문자(와일드카드)
- * : 모든 값(매시, 매일, 매주처럼 사용한다.)
- ? : 특정 값이 아닌 어떤 값이든 상관 없음
- - : 범위를 지정할 때
- , : 여러 값을 지정할 때
- / : 증분값, 즉 초기값과 증가치를 설정할 때
- L : 지정할 수 있는 범위의 마지막 값 표시
- W : 가장 가까운 평일(weekday)을 설정할 때
- # : N번 째 특정 요일을 설정할 때