<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

+ Recent posts