본문 바로가기

카테고리 없음

[Spring] cron 스프링 스케쥴 설정법

초 0-59 , - * / 


분 0-59 , - * / 


시 0-23 , - * / 


일 1-31 , - * ? / L W


월 1-12 or JAN-DEC , - * / 


요일 1-7 or SUN-SAT , - * ? / L # 


년(옵션) 1970-2099 , - * /


* : 모든 값


? : 특정 값 없음


- : 범위 지정에 사용


, : 여러 값 지정 구분에 사용


/ : 초기값과 증가치 설정에 사용


L : 지정할 수 있는 범위의 마지막 값


W : 월~금요일 또는 가장 가까운 월/금요일


# : 몇 번째 무슨 요일 2#1 => 첫 번째 월요일






예제) Expression Meaning 


초 분 시 일 월 주(년)


 "0 0 12 * * ?" : 아무 요일, 매월, 매일 12:00:00


 "0 15 10 ? * *" : 모든 요일, 매월, 아무 날이나 10:15:00 


 "0 15 10 * * ?" : 아무 요일, 매월, 매일 10:15:00 


 "0 15 10 * * ? *" : 모든 연도, 아무 요일, 매월, 매일 10:15 


 "0 15 10 * * ? : 2005" 2005년 아무 요일이나 매월, 매일 10:15 


 "0 * 14 * * ?" : 아무 요일, 매월, 매일, 14시 매분 0초 


 "0 0/5 14 * * ?" : 아무 요일, 매월, 매일, 14시 매 5분마다 0초 


 "0 0/5 14,18 * * ?" : 아무 요일, 매월, 매일, 14시, 18시 매 5분마다 0초 


 "0 0-5 14 * * ?" : 아무 요일, 매월, 매일, 14:00 부터 매 14:05까지 매 분 0초 


 "0 10,44 14 ? 3 WED" : 3월의 매 주 수요일, 아무 날짜나 14:10:00, 14:44:00 


 "0 15 10 ? * MON-FRI" : 월~금, 매월, 아무 날이나 10:15:00 


 "0 15 10 15 * ?" : 아무 요일, 매월 15일 10:15:00 


 "0 15 10 L * ?" : 아무 요일, 매월 마지막 날 10:15:00 


 "0 15 10 ? * 6L" : 매월 마지막 금요일 아무 날이나 10:15:00 


 "0 15 10 ? * 6L 2002-2005" : 2002년부터 2005년까지 매월 마지막 금요일 아무 날이나 10:15:00 


 "0 15 10 ? * 6#3" : 매월 3번째 금요일 아무 날이나 10:15:00









Linux


예) 40 3 * * * root /home/mysql/mysql_backup.sh



맨 앞의 40은 40분을 의미함 (분을 의미:0~59)


그 뒤의 3은 03시를 의미함 (시를 의미:0~23)


그 뒤의 * 은 매일을 의미함 (일을 의미:1~31)


그 뒤의 * 은 매월을 의미함 (월을 의미:1~12)


그 뒤의 * 은 매주를 의미함(요일을 의미 1:월요일~7:일용일)


그 뒤의 root /home/mysql/mysql_backup.sh 는 root  계정으로 mysql_backup.sh을 실행하라는 의미




문자 : 각 필드에 해당하는 모든 숫자를 의미


문자 : 각 필드자리에 하이픈 문자가 올수 있음


ex) 일 필드자리에 11-15 (11,12,13,14,15일을 의미)


문자 : 각 필드자리에 콤마문자가 올수 있음


ex) 일 필드자리에 1,11,21 (1일,11일 21일을 의미)




1/1000 초 설정법


@Scheduled(fixedDelay=1000)


 1000 = 1초