<crontab>
-정의 : crontab 은 유닉스 서버에서 예약된 작업을 실행시키는 스케쥴러의 역할을 합니다.
요일부터 월, 일, 시, 분 단위로 시간을 설정할수 있어 서버 관리에 유용하게 사용되는 명령어입니다.
- crontab 예약작업 추가 및 수정
$ crontab -e
- crontab 예약작업 리스트 확인
$ crontab -l
- crontab 스케쥴 등록방법
1. crontab -e 명령어를 수행하고
2. 다음과 같은 구조로 text 입력하듯이 입력하면 된다
----------------------------------------------------------
[분] [시] [일] [월] [요일] [실행하고자 하는 명령어]
---------------------------------------------------------
종류 |
설명 |
분 |
0부터 59까지의 범위안에 ㅁ여령어가 실행되기를 원하는 분 설정 |
시 |
0부터 23까지의 범위안에 명령어가 실행되기를 원하느 시간 설정 |
일 |
1부터 31까지의 범위안에 명령어가 실행되기를 원하는 일 설정 |
요일 |
1부터 7(또는0)까지의 범위안에 명령어가 실행되기를 원하는 요일 설정 월요일:1, 화요일:2. 수요일:3, 목요일:4, 금요일:5 토요일:6, 일요일:7 또는 0 |
명령어 |
실행되기를 원하는 명령어를 입력 |
공통) file_[현재시간].txt 파일을 생성하는 make_file.sh 실행파일이 있다.
예제1) 매시간 정각에 make_file.sh 실행하도록 등록한다면 다음과 같이 하면 된다.
00 * * * * /home/seno/make_file.sh
예제2) 매월 1일에 새벽 5시에 make_file.sh 실행하도록 등록 한다면 다음과 같이 하면 된다.
00 5 1 * * /home/seno/make_file.sh
예제3) 토용일마다 오전 8시 정각과 30분에 make_file.sh 실행하도록 등록한다면 다음과 같이 하면 된다.
00,30 8 * * 6 /home/seno/make_file.sh
예제4) 오전 12시부터 오후 1시가지 매 10분마다 make_file.sh 실행하도록 등록한다면 다음과 같이 하면 된다.
00, 10, 20, 30, 40, 50 12 * * /home/seno/make_file.sh
또는
*/10 12 * * /home/seno/make_file.sh
예제5) 주중에 오전 12시부터 12시 30분까지 매 1분마다 make_file.sh 실행하도록 등록한다면 다음과 같이 하면 된다.
1-30 12 * 1,2,3,4,5 /home/seno/make_file.sh
또는
1-30 12 * 1-5 /home/seno/make_file.sh
예제6) CPU, 메모리 사용량을 일일단위 5분 간격으로 로그 기록을 남기고 싶은 겨우
[root@localhost ~]# chmod 755 monitor.sh
[root@localhost ~]# crontab -e
후 수정
*/5 * * * * * /root/monitor.sh >> /var/log/cpu_memory.log
※ crontab 은 모든 유저가 사용할수 있고 user마다 수케쥴이 별도로 관리된다.
A 사용자로 스케쥴을 들록했다면 B사용자에서는 crontab -l 명령어를 수행한다고 해서 A 사용자가 등록한 스케쥴을
볼수가 없다.
또 A사용자는 crontab 스케쥴을 사용할수 있지만 B 사용자는 crontab을 사용할수 없을수 있다. root 계정으로 각 user의
crontab 기능을 사용여부를 설정할수 있다.
출처 : http://cafe.naver.com/tgicpc/1511
'리눅스(ubuntu) > 명령어 관련' 카테고리의 다른 글
systemctl 명령어 관련 (0) | 2017.08.01 |
---|---|
at 명령어 (0) | 2017.08.01 |
sed (0) | 2017.05.11 |
fstab 관련 (0) | 2016.12.19 |
tar (압축 관련) (0) | 2016.12.15 |