코딩스토리/리눅스

리눅스 크론탭 사용법 - Linux crontab

Tech&Fin 2022. 1. 7. 15:41
반응형

리눅스에서 프로그램을 수행하다 보면 원하는 시간마다 또는 주기적으로 프로그램을 실행하거나 프로세스를 체크해야 할 일이 있는데요. 이런 경우에 유용하게 사용할 수 있는 기능이 바로 crontab(크론탭) 입니다.

 

윈도우즈의 스케쥴러와 비슷한 기능이라고 볼 수 있지만 윈도우즈에 비해서 작동에 대한 신뢰도가 매우 높고 사용법이 직관적이고 편리합니다. 그래서 이번 시간에는 리눅스에서 crontab(크론탭)을 사용하는 방법에 대해서 간단히 살펴 보려고 합니다.

 

 

목차 - 클릭하면 이동합니다.

     

    크론탭 조회/등록/삭제

    크론탭 조회

    crontab -l

    등록되어 있는 크론탭을 조회할 때 사용합니다.

     

    크론탭 수정

    crontab -e

    크론탭을 등록하거나 이미 등록된 크론탭을 수정하거나 삭제할 때 사용합니다.

     

    크론탭 삭제

    crontab -r

    전체 크론탭을 한번에 삭제할 때 사용합니다.

     

    크론탭 문법

    기본 문법

    * * * * * 명령어

    크론탭은 정해진 양식으로 등록해야 하며 각 위치마다 아래와 같이 역할이 부여되어 있습니다.

     

    ① 첫 번째 * : 분 (0~59)

    ② 두 번째 * : 시 (0~23)

    ③ 세 번째 * : 일 (1~31)

    ④ 네 번째 * : 월 (1~12)

    ⑤ 다섯 번째 * : 요일(0~6), 0:일요일, 1:월요일, 2:화요일, 3:수요일, 4:목요일, 5:금요일, 6:토요일

     

     

    30 5 * * * /home/python/cron/monitoring.sh

    위의 경우는 매일 오전 5시 30분에 스크립트를 수행하게 됩니다.

     

    수행 주기 추가

    0,30 5 * * * /home/python/cron/monitoring.sh

    콤마(,)로 구분하면 실행 주기를 추가할 수 있습니다. 위의 경우는 매일 오전 5시 그리고 5시 30분에 스크립트를 수행합니다.

     

    수행 구간 지정

    0 5 * * 1-5 /home/python/cron/monitoring.sh

    마이너스 기호(-)를 사용하면 수행 주기의 구간을 지정할 수 있습니다. 위의 경우는 월요일부터 금요일까지 오전 5시에 스크립트를 수행하게 됩니다.

     

    수행 간격 지정

    */10 * * * /home/python/cron/monitoring.sh

    슬래시(/) 기호를 사용하면 수행 간격을 지정할 수 있습니다. 위의 경우는 매 10분마다 스크립트를 실행하게 됩니다.

     

    크론탭 로깅하기

    크론탭은 해당 시간에 시스템이 수행하기 때문에 별도로 콘솔에 로그가 나오지 않습니다. 그래서 크론탭의 수행 결과를 확인하고 싶으면 별도로 로깅을 해야 합니다.

     

    */10 * * * /home/python/cron/monitoring.sh >> /home/python/logs/monitoring.log 2>&1

    꺽쇄(>)를 이용하면 실행한 스크립트의 출력 결과를 파일로 저장하게 됩니다. 두개의 꺽쇄(>>)를 사용하면 log를 계속해서 붙여넣기 하며 한개의 꺽쇄(>)를 사용하면 매번 파일을 새로 덮어쓰게 됩니다.

     

    마치며

    리눅스에서 크론탭은 상당히 많이 사용되고 있으며 Tech&Fin에서 진행중인 비트코인 자동매매 프로그램도 리눅스 서버에서 돌리기 위해서 crontab을 사용하게 됩니다.

     

    추후 리눅스 서버에서 비트코인 자동매매 프로그램을 crontab에 등록하는 방법을 통해 더 자세하게 알아볼 수 있도록 하겠습니다.

     

    블로그를 구독하시면 소식을 조금 더 빨리 받아볼 수 있습니다. 감사합니다.

    반응형