Skip to content

Linux 기본명령어 crontab #

Find similar titles

Structured data

Category
Programming

리눅스 기본명령어 - crontab #

설명 #

특정 시간에 어떤 일을 해라! 바로 리눅스에서 사용하는 명령어이다. 시스템 구축 혹은 데이터 구축에서 확인해보면 주기적으로 어떤 일을 해야 할 경우가 있는데 이때 사용하는 명령어가 crontab 이다. 즉 일종의 정기적인 스케줄러이다.

명령어 사용법 #

명령어는 명령어와 옵션의 조합으로 실행시킨다.

crontab [ -u 사용자 id] 파일
crontab [-u 사용자 id] { -l | -r | -e}
crontab -l : 예약된 작업리스트
crontab -e : 예약된 작업 수정
crontab -r : 예약된 작업 삭제

사용법은 다음과 같다. 만약 새로운 작업을 해야한다면 아래 명령어로 새롭게 명령탭에서 실행시킨다. 그러면 새로운 편집창과 함께 무언가를 입력할 수 있는 화면이 로딩된다. vi에디터 모드로 로딩이 되는데 여기에 새로운 작업을 지시하고 : 입력 후에 wq로 저장한다. 즉 vi 편집모드로 작성하면 된다.

$ crontab -e

반대로 현재 크론탭에 어떤 내용이 들어있는지 보려면 다음과 같이 입력한다.

$ crontab -l

그러면 표준 출력으로 크론탭 내용을 출력한다. 만약 설정 내용이 없다면 해당 내용이 비어 있다고 상세하게 알려준다. 다음은 해당 스케줄러를 삭제할 수 있다.

$ crontab -d

위와 같이 crontab의 기본 설정 및 확인, 삭제는 crontab 명령어와 함께 옵션을 주어 명령어를 실행할 수 있다. 그러면 실제로 crontab에 다음과 같이 명령어를 입력하면 동작한다.

다음과 같이 crontab -e 입력 후 아래 내용을 입력한다. 저장은 vi 처럼 콜론 (:) 입력 후 wq로 저장하면 된다.

* * * * * ls -al

예제에는 별 다섯 개와 함께 명령어가 있다. 즉 가장 기본적인 명령어이다. 즉 *은 특정 시간을 알려주는 것이다. 별이 다섯 개일 경우 매 분마다 ls -al 명령어를 실행하라는 것이다.

*이 지칭하는 것이 무엇인지 살펴보면 다음과 같다.

주기 결정 #

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

즉 다음과 같다

첫번째    분        0-59
두번째    시        0-23
세번째    일        0-31
네번째    월        1-12
다섯번째  요일      0-7 (0 또는 7=일요일, 1=월, 2=화,...)
여섯번째  명령어    실행할 명령을 한줄로 쓴다.
  • 한 줄당 하나의 명령 (두줄로 나눠서 표시할 수 없음)
  • # 으로 시작하는 줄은 실행하지 않는다 (주석)

각 * 위치에 따라 주기를 다르게 설정 할 수 있다. 즉 순서대로 분-시간-일-월-요일 순입니다. 그리고 괄호 안의 숫자 범위 내로 별 대신 입력 할 수 있다.요일에서 0과 7은 일요일이며, 1은 월요일이고 6이 토요일이 되는 셈이다.

주기별 예제 #

매분 실행 #

# 매분 test.sh 실행
* * * * * /home/kylee/test.sh

특정 시간 실행 #

# 매주 일요일 오전 0시 00분에 test.sh 를 실행
0 0 * * 0 /home/kylee/test.sh

반복 실행 #

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

범위 실행 #

# 매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행
0-30 1 * * * /home/kylee/test.sh

간격 실행 #

# 매 10분마다 test.sh 를 실행
*/10 * * * * /home/kylee/test.sh

조금 복잡하게 실행 #

# 5일에서 6일까지 2시,3시,4시에 매 10분마다 test.sh 를 실행
*/10 2,3,4 5-6 * * /home/kylee/test.sh

주기 입력 방법엔 * , - / 을 이용하는 방법이 있다. 위와 같이 각각의 특수기호의 조합으로 원하는 대로 주기를 설정 할 수 있다.

Suggested Pages #

0.0.1_20230725_7_v68