Crontab

박찬효·2022년 10월 23일
0

Crontab ??


리눅스에서 일정 주기나 특정시간에 명령을 실행할 때 사용하는 것이 Crontab입니다. 간단히 이야기 하자면 스케쥴러 라고 생각을 하면 됩니다.

Crontab 명령어


$ crontab -e
// crontab 작성

$ crontab -l
// crontab 작업 리스트 보기

$ crontab -r
// crontab 모든 작업 삭제

Crontab 작성


# * * * * * command
* * * * * /home/user/test.sh

먼저, 5개의 실행 주기에 대한 분 시 일 월 요일의 순서로 정의를 해줍니다.

  • 분: 0 ~ 59

  • 시: 0 ~ 23

  • 일: 1 ~ 31

  • 월: 1 ~ 12

  • 요일: 0 ~ 7

// 매분 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

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

Crontab 명령 중복 실행 방지



* * * * * /yser/bin/flock -n /tmp/prop.lockfile / home/user/test.sh

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

shell 작성 팁


쉘 파일에 모든 명령어 및 파일은 절대 경로로 명시 해야합니다. pc의 환경변수를 import할 경우에는, 쉘 파일 첫번째 줄에 -l 을 입력해주시면 됩니다.
$!/bin/bash -l
profile
개발자가 되기 위한 1인

0개의 댓글