Linux
기본명령어
crontab
#
Find similar titles
- 최초 작성자
Structured data
- Category
- Programming
Table of Contents
리눅스 기본명령어 - 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.025 Mint linux
- 0.025 Open suse
- 0.025 미닉스
- 0.025 Kubuntu
- 0.025 CentOS
- 0.025 리누스 토르발스
- 0.025 Unix
- 0.025 Linus Torvalds
- 0.025 Ubuntu
- 0.025 유닉스
- More suggestions...