리눅스 반복 작업 crontab

crontab

crond (크론데몬)

시스템에서 cron이 동작하려면 crond라는 크롬 데몬이 동작하고 있어야합니다.
현재 동작하고 있는지 확인 해보겠습니다.

$ ps -ef |grep crond

crond 실행, 중지 재시작
/etc/rc/d/init.d/crond 스크립트를 이용합니다.

기본 옵션
crond start 시작
crond restart 재시작
crond stop 종료

crontab 기본

주기설정

*                 *                   *                *                *

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

각 별의 위치에 따라 주기 설정을 할 수 있습니다.
요일에서 0과 7은 일요일 입니다. crontab -e로 크론탭을 열어서 필요한 스케쥴을 등록합니다.

매분 test.sh 실행

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

특정 시간 실행

# 매주 토요일 오후 2시 5분에 test.sh를 실행
5,14,* * 6 /home/script/test.sh

반복 실행

# 매일 매시간 0분, 20분, 40분에 test.sh 를 실행
0,20,40 * * * * /home/script/test.sh

크론탭 백업

crontab -r로 삭제를 하면 묻지도 따지지도 않고 지워지기 때문에,
주기적으로 백업하는 것이 좋습니다.
크론탭을 백업하는 스케쥴을 등록하면 좋습니다.

# 매일 오후 11시 50분에 크론탭을 백업하기
50 23 * * * crontab -l > /home/bak/crontab_bak.txt

참고사이트

제타위키
JDM’s Blog : 크론탭 사용법
리눅스 포털 : 주기적이고 반복적인 cron 설정작업 활용 1편

LINUX crontab 스케쥴러

Discussion and feedback