Crontab

진성·2022년 8월 23일
0
post-thumbnail

Crontab?

크론탭(Crontab)이란 리눅스에서 일정 주기나 특정시간에 명령을 실행할 때 사용하는것이다.
간단히 말해 스케줄러 라고 생각하면 된다.

Crontab 명령어

# crontab 작성
~ crontab -e

# crontab 작업 리스트 보기
~ crontab -l

# crontab 모든 작업 삭제
~ crontab -r

Crontab 작성방법

~ * * * * * /home/user/test.sh

위와 같이 먼저 5개의 실행 주기에 대한 정의를 해준다.
분 시 일 월 요일 의 순서이다.
아래는 사용가능 한 값이다.

  • 분: 0~59
  • 시: 0~23
  • 일: 1~31
  • 월: 1~21
  • 요일: 0~7(0,7: 일요일, 1: 월요일, 2: 화요일 ...)

실행주기를 정의한 다음 수행할 명령어를 입력하면 된다.

# 매분 test.sh 을 수행
~ * * * * * /home/user/test.sh

# 매일 23시 50분에 수행
~ 50 23 * * * /home/user/test.sh

# 매주 일요일 23시 55분에 수행
~ 55 23 * * 0 /home/user/test.sh

# 매월 1일 10시 10분에 수행
~ 10 10 1 * * /home/user/test.sh

위는 여러 주기로 수행하는 작업에 대한 예시이다.

# backup crontab
~ 50 23 * * * crontab -l > /home/bak/crontab_bak.txt

위는 실수로 모든 작업이 삭제되거나 누군가의 의해 수정이 되는 것을 대비해 txt파일에 백업을 하는 방법이다.

Crontab 명령 중복 실행 방지

* * * * * /usr/bin/folck -n /tmp/prop.lockfile /home/user/test.sh

flock-n을 사용하여, shell script가 중복 실행 되지 않도록 수행 할 수 있다.
test.sh가 1분 이상 수행이 된다면 중복 실행이 되어 예상치 않은 결과가 나올 수 있다.

참고: [ Linux ] Crontab 이란? 활용 방법

profile
풀스택 진행중...

0개의 댓글