All Articles

Crontab이란?

회사에서 네이버 블로그 및 플레이스 리뷰 크롤링 엔진을 업데이트 하고 Crontab 을 사용하여 주기적으로 데이터를 수집해야하는 프로젝트를 맡게되어 크론탭에 대하여 좀 더 자세히 알아보기로 했다.

Cron이란?

Cron은 Unix, solaris, Linux OS에 탑재된 유틸리티로써 백그라운드에서 주기적으로 설정된 명령을 수행할 수 있게 해준다. 크론이란 명칭이 사용되는 정확한 이유는 없으나 유닉스 OS 크론 개발자인 Ken Thompson 에 의하면 Cron은 그리스 접두사인 chron에서 파생되었으며, 뜻은 시간이라고 한다.

Crontab 명령어

crontab -e # 크론탭의 파일을 수정하거나 새로운 크론잡을 등록할 수 있음.
crontab -l # 크론잡의 리스트와 크론잡이 크론탭 파일 컨텐츠를 볼수 있음.
crontab -r # 크론잡을 삭제 하는 커맨드.
crontab -v # 크론탭 파일에서 마지막으로 수정한 내역을 확인하는 커맨드.

Crontab 문법

  *   *  *   *   *
# 분  시  일  월   주

# 예 : 매일 오후 6시 30분에 크론잡을 등록하는 경우.
30 18 * * * rm /home/someuser/tmp/*
# 예 : 매시 15분마다 동작하는 크론잡을 등록하는 경우.
15 * * * * rm /home/someuser/tmp/*
# 예 : 5분 간격으로 동작하는 크론잡을 등록하는 경우.
*/5 * * * * rm /home/someuser/tmp/*
# 예 : 매 5시간 간격으로 동작하는 크론잡을 등록하는 경우.
* */5 * * * rm /home/someuser/tmp/*
# 예 : 크론잡 로그파일을 등록하는 경우.
30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log

Crontab 파일 위치

# Mac OS X
/usr/lib/cron/tabs/
# BSD Unix
/var/cron/tabs/
# Solaris, HP-UX, Debian, Ubuntu
/var/spool/cron/crontabs/
# AIX, Red Hat Linux, CentOS, Ferdora
/var/spool/cron/

크론 관리가 필요하다면 이정도만 숙지하여도 충분히 이용이 가능하다!

*Reference:
Admin’s Choice Crontab – Quick Reference