Cron이란?
cron, crond, crontab 모두 리눅스의 기본 스케줄러이다. Spring과 관련된 batch scheduler에는 Spring batch, Quartz 등이 있다.
사용 방식
$ crontab -e #nano 편집기로 이동
$ crontab -l #crontab 쉘 확인
$ crontab -r #crontab 쉘 삭제
* * * * * 명령어 형식으로 사용한다.
앞에서부터 분, 시, 일, 월, 요일(0~6)이다.
각 칸에 들어가는 기호의 의미는 아래와 같다.
-
- : 모든 단위에 대해 실행 ex) 매분
- /n : n으로 나눠지는 때 마다 실행 ex) 매 5분마다 실행.
- n : n에 실행 ex) xx시 10분이 되면 실행
- n1 - n2 : n1과 n2 구간에 실행, ex) 10-15라면 10, 11, 12, 13, 14, 15분에 실행
- n1,n2,n3 … : 적혀있는 숫자가 되면 실행 ex) 10,15라면 10분, 15분에 실행
결과 출력 - redirection 활용
echo 등 표준 출력을 사용하고 싶을 수 있으나, 터미널에 해당 출력을 띄우는건 어렵다.
단 redirection 문법으로 로그를 기록할 수 있다.
# crontab -e 로 편집기에 접속
* * * * * ~/scripts/some.sh # 매분실행. 기록안됨
* * * * * ~/scripts/some.sh > ~/scripts/some.log # 최신 실행 결과가 some.log에 저장됨
* * * * * ~/scripts/some.sh >> ~/scripts/some.log # log가 누적됨
'기타 툴' 카테고리의 다른 글
[asdf] 디렉토리별로 다른 자바 버전 사용하기 (Mac, Linux) (0) | 2024.09.16 |
---|---|
VM virtual box에 ubuntu 설치하기 (1) | 2022.10.29 |