cron으로 데이터 작업 자동화

셸에서의 데이터 처리

Susan Sun

Data Person

스케줄러란?

  • 스케줄러는 미리 정한 일정에 따라 작업을 실행합니다
  • 상용 스케줄러: Airflow, Luigi, Rundeck 등
  • cron 스케줄러는
    • 간단함
    • 무료
    • 사용자 지정 가능
    • 순수 커맨드라인
    • MacOS와 Linux 기본 제공
셸에서의 데이터 처리

cron이란?

Cron:

  • 시간 기반 작업 스케줄러입니다
  • MacOS, Unix에 기본 포함됩니다
  • Windows에서는 Cygwin으로 설치하거나 작업 스케줄러로 대체할 수 있습니다
  • 시스템 유지보수, bash 스크립트, Python 작업 등 자동화에 사용됩니다
셸에서의 데이터 처리

crontab이란?

Crontab은 cron 작업을 관리하는 중앙 파일입니다.

crontab -l
no crontab for <username>

문서:

man crontab
셸에서의 데이터 처리

crontab에 작업 추가

방법 1: 텍스트 편집기(nano, Vim, Emacs 등)로 crontab 수정

방법 2: 스케줄 명령을 crontab에 echo로 추가

echo "* * * * * python create_model.py" | crontab

작업이 올바르게 예약되었는지 확인:

crontab -l
* * * * * python create_model.py
셸에서의 데이터 처리

cron 작업 타이밍 익히기

cron 작업에서 가장 흔한 스케줄은 1분마다입니다.

cron 작업의 시간 구성 요소:

.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed ...
|  |  |  |  |
*  *  *  *  * command-to-be-executed
셸에서의 데이터 처리

cron 작업 타이밍 익히기

*  *  *  *  * python create_model.py

해석:

  • 매달 매일 매시간 매분, 매주 모든 요일에 실행합니다.

  • 즉, 매분 실행

추가 자료:

셸에서의 데이터 처리

연습해 봅시다!

셸에서의 데이터 처리

Preparing Video For Download...