Crontab 활용방법

내승현·2022년 8월 29일
0

Linux

목록 보기
9/11

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(0,7: 일요일 / 1:월요일 / 2:화요일 ...)
    실행 주기를 정의 한 다음 수핼할 명령어를 입력하면 된다.
    : 주석은 # 을 입력하면 된다.

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

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

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

# 매월 11010분에 수행
$ 10 10 1 * * /home/user/test.sh

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


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

: 이렇게 수행하기 편한 만큼, 실수로 모든 작업이 삭제되거나 누군가에 의해 쉽게 수정이 될 수 있다.
이 같은 방법으로 txt파일에 백업을 하는 방법도 있다.

Crontab 명령 중복 실행 방지


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

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

Shell 작성 팁

쉘 파일에 모든 명령어 및 파일은 절대 경로로 명시해야 한다.
pc의 환경변수를 import할 경우에는, 쉘 파일 첫번째 줄에 -l 을 입력해주면 된다.


#!/bin/bash -l

출처:https://goateedev.tistory.com/100
profile
아토언니의 프론트엔드 개발자로서의 기록

0개의 댓글