데이터과학 삼학년

Crontab (스케쥴러 설정) 본문

DevOps

Crontab (스케쥴러 설정)

Dan-k 2020. 3. 26. 21:05
반응형

개발운영툴에서 가장 필요한 기능은 단연 스케쥴링기능이다.

스케쥴을 걸어놓음으로써 매번 정해신 시간 혹은 정해진 간격에 따라 프로그램(잡)을 실행하여 서비스를 가능하게 한다.

 

즉 전체적인 pipeline을 관리하면서도 이것을 내가 원하는 시간대에 자동으로 실행시켜 주는 기능을 말한다.

 

보통의 jekins 등 많은 devops 툴 등은 스케쥴러에 crontab 을 지원하고 있다. 

 

Crontab

소프트웨어 유틸리티 cron 유닉스 계열 컴퓨터 운영 체제의 시간 기반 잡 스케줄러이다. 

소프트웨어 환경을 설정하고 관리하는 사람들은 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 스케줄링하기 위해 cron을 사용한다.

 

cron은 셸 명령어들이 주어진 일정에 주기적으로 실행하도록 규정해놓은 crontab (cron table) 파일에 의해 구동된다. crontab 파일들은 잡 목록 및 cron 데몬에 대한 다른 명령들이 보관된 위치에 저장되어 있다. 사용자들은 자신들만의 개개의 crontab 파일들을 가질 수 있으며, 가끔은 /etc 또는 /etc의 하위 디렉터리에 시스템 관리자들만이 편집할 수 있는, 시스템 전반에 영향을 미치는 crontab 파일이 존재하는 경우도 있다.

 

crontab 주기결정방법

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

 

일반적인 사용예시

매일 자정 이후 1분 째에 아파치 오류 로그를 삭제

1 0 * * *  printf > /var/log/apache/error_log

매일 20시 (오후 8시)에 export_dump.sh라는 셸 프로그램을 실행

0 20 * * * /home/oracle/scripts/export_dump.sh

매일 매시간 0분, 20분, 40분에 test.sh 를 실행 0,20,40 

* * * * /home/script/test.sh

매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행

0-30 1 * * * /home/script/test.sh

매 10분마다 test.sh 를 실행 

*/10 * * * * /home/script/test.sh

크론 로깅

크론탭을 사용하면 정기적으로 처리한 내역들을 로그로 남기는 것이 좋다.

* * * * * /home/script/test.sh > /home/script/test.sh.log 2>&1

크론텝 백업

주기적으로 크론탭을 백업하는방법이다

crontab -l > /home/bak/crontab_bak.txt

 

 

출처 : https://ko.wikipedia.org/wiki/Cron, https://jdm.kr/blog/2
 

cron - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

리눅스 크론탭(Linux Crontab) 사용법 :: JDM's Blog

* 이 포스팅은 네이버 블로그에서 작성(2013.04.01)한 내용을 옮겨온 것입니다. 오늘은 리눅스 크론탭에 대해 알아볼까 합니다. 음, 윈도우에서는 스케줄러와 비슷하다고 보면 되겠네요. "특정 시간에 특정 작업을 해야한다." 라고 한다면 크론탭을 사용해 편하게 리눅스를 사용하실 수 있습니다. 크론탭 기본 (crontab basic) 일단 기본이 되는 크론탭 사용법을 한 번 볼까요. 리눅스 쉘에서 다음처럼 입력합니다. $ crontab -e 그러면 뭔가

jdm.kr

 

728x90
반응형
LIST
Comments