티스토리 뷰

반응형
[Linux/Ubuntu] 예약 반복 실행(crontab)

crontab이란?

리눅스에서 기본적으로 제공하는 예약 실행 시스템이다. 예를 들어 매일 아침 9시에 메일을 보내고 싶다는 등의 특정 시간에 반복적인 업무를 해야 할 때 활용할 수 있다.

기본 명령어

터미널에서 아래와 같이 실행하면 crontab을 등록, 확인, 제거 할 수 있다.

# crontab job 등록
crontab -e

# 현재 등록된 내용 확인
crontab -l

# 등록된 crontab 삭제
crontab -r

# -e 옵션으로 편집창이 뜨면 원하는 명령 작성(아래 주기 참고)
* * * * * 스크립트.sh

별표에 따른 주기 확인

*(분0-59) *(시간0-23) *(일1-31) *(월1-12) *(요일0-7)

# 매분 실행
* * * * * script.sh

# 매주 금요일 오전 5시 45분에 실행
45 5 * * 5 script.sh

# 매일 오후 7시에 실행
0 19 * * * script.sh

# 오전 9시, 오후1시 마다 실행
0 9,13 * * * script.sh

# 매 10분마다 실행
*/10 * * * * script.sh

# 월~금 10시 실행
0 10 * * 1-5 script.sh

MacOS에서 사용하는 법

MacOS에서는 리눅스와 달리 약간의 설정을 해줘야 한다. 이 설정을 하지 않으면 crontab에서 실행할 script 내용이 Permission이 거부된다.

  1. 시스템 환경설정 - 보안 및 개인 정보 보호에 들어간다.
  1. 개인정보 보호 탭을 클릭하고 왼쪽 리스트 중 전체 디스크 접근 권한을 클릭한다.
  1. 자물쇠 버튼을 눌러 잠금을 해제하고, 터미널을 찾아 체크해준다.
  1. '+' 버튼을 눌러 /usr/sbin 경로에 들어가 cron을 추가하고 체크해준다.
  1. 여기까지 했으면 위 리눅스의 방법과 같이 터미널에서 crontab으로 설정하면 된다.
반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday