[Linux] crontab(크론탭)

chael_lo·2022년 10월 23일

Linux

목록 보기
1/1

특정 시간마다 환율 정보 목록을 요청하고 그 결과에 따라서 메일을 보내는 작업을 하기 위해 크론탭을 사용해 보았다. 크론탭은 작업 할 내용의 추가, 편집, 삭제를 리눅스 환경에서 진행한다.
처음에 어려울 것 같다는 생각도 했는데 워낙 관련 정보도 많고 api만 잘 작동하면 내가 원하는 시간에 작업 등록만 하면 되어서 문제없이 잘 사용하였다.

crontab(크론탭)이란

유닉스/리눅스 계열에서 특정 시간에 특정 작업을 하는 데몬은 cron(크론)이라고 하고,
이 크론이 언제 어떤 일을 하도록 설정해 특정 파일에 저장한 것을 crontab(크론탭)이라고 한다.

crontab
데몬이 원하는 시간에 원하는 명령을 수행하도록 만든 명령 리스트(텍스트 파일)

crontab 사용법

우선 Linux 운영체제의 환경이라면(=맥이라면) 기본 내장되어 있기 때문에 따로 설치가 필요 없다.

목록 확인

등록되어 있는 crontab 목록이 출력된다.

crontab -l

편집

텍스트 편집기가 실행되고 에디터를 통해 설정을 변경할 수 있다.

crontab -e
#텍스트 편집기에서 편집모드로 변경 i(nsert) 입력 후 수정
#저장(:wq) 혹은 저장하지 않고 나가기(:q!)

삭제

예약된 작업이 모두 삭제된다.

crontab -r

스케쥴 설정

crontab은 작업 스케줄을 구체적으로 지정해 줄 수 있다.
* 사이에 공백으로 5개 값을 구분하여 설정한다.

  • minute(분) 0~59
  • hour(시간) 9~23
  • day(일) 1~31
  • month(월) 1~12
  • weekday(요일) 0~7
    • 0,7은 일요일
    • 1(월요일)~6(토요일)
* * * * * <SHELL_PATH>
#분 시 일 월 요일 <쉘스크립트의경로>

예시

  • 1분마다 실행하고 싶을 때
 * * * * * sh /root/batch/test.sh
  • 매일 오후 3시,5시에 실행하고 싶을 때
 0 15,17 * * * sh /root/batch/test.sh
  • 매일 1시간 간격으로 실행하고 싶을 때
0 */1 * * *	sh /root/batch/test.sh
  • 월 ~ 토 오후 9시마다 실행하고 싶을 때
0 21 * * 1-6 sh /root/batch/test.sh
profile
천천히 꾸준히

0개의 댓글