일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- chatGPT
- gather_nd
- airflow subdag
- flask
- 유튜브 API
- API Gateway
- spark udf
- BigQuery
- youtube data
- TensorFlow
- Counterfactual Explanations
- XAI
- correlation
- top_k
- session 유지
- hadoop
- integrated gradient
- requests
- GenericGBQException
- Airflow
- login crawling
- GCP
- Retry
- 공분산
- 상관관계
- tensorflow text
- API
- grad-cam
- UDF
- subdag
- Today
- Total
데이터과학 삼학년
Crontab (스케쥴러 설정) 본문
개발운영툴에서 가장 필요한 기능은 단연 스케쥴링기능이다.
스케쥴을 걸어놓음으로써 매번 정해신 시간 혹은 정해진 간격에 따라 프로그램(잡)을 실행하여 서비스를 가능하게 한다.
즉 전체적인 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
'DevOps' 카테고리의 다른 글
jenkins workspace cleanup 설정 (0) | 2020.05.08 |
---|---|
Docker 명령어 정리 (3) | 2020.04.07 |
Docker (feat.GCP) (0) | 2020.01.13 |
Jenkins scripted pipeline (젠킨스 스크립트 파이프라인) (0) | 2020.01.10 |
프로젝트 운영_RSA 암호 세팅(feat.ssh-keygen) (0) | 2020.01.09 |