crontab
작업 스케줄러로 특정시각에 프로세스가 수행되도록 설정하는 프로그램 입니다.
위 작업들은 /var/log/cron 경로에 이력이 기록됩니다.
주로 특정시간에 백업을 해야하는 용도에서 사용됩니다.
crontab 사용법
옵션 |
의미 |
-e |
작업 스케줄러를 등록할 수 있는 편집 창 오픈 |
-l |
스케줄러에 등록되어있는 리스트 |
-r | 등록되어 있는 리스트를 삭제 |
예로, 편집 창에서 1분단위 script.sh 수행 방법은 * * * * * script.sh 과 같습니다.
앞에서부터 위치 |
의미 |
(1) * |
분단위를 의미합니다. 0 ~ 59 까지 설정할 수 있습니다. * 로 썼을 경우 매 분을 의미합니다. */2 로 썼을 경우 2분마다를 의미합니다. 10 으로 썼을 경우 매시간의 10분을 의미합니다. 10, 20 으로 썼을 경우 매시간의 10분, 20분을 의미합니다. 10-20 으로 썼을 경우 매시간의 10분에서 20분까지 분단위를 의미합니다. |
(2) * |
시간을 의미합니다. 0 ~ 23 까지 설정할 수 있습니다. 옵션은 위와 동일합니다. |
(3) * |
일(날짜)을 의미합니다. 1 ~ 31 까지 설정할 수 있습니다. 옵션은 위와 동일합니다. |
(4) * |
월(달)을 의미합니다. 1 ~ 12 까지 설정할 수 있습니다. 옵션은 위와 동일합니다. |
(5) * |
요일을 의미합니다. 0 ~ 7 까지 설정할 수 있습니다. 0 과 7 을 일요일이며, 1은 월요일 6은 토요일 입니다. 옵션은 위와 동일합니다. |
crontab 예제
현재 시간을 출력하는 스크립트를 작성합니다.
$ cat date.sh DATE=`date` echo $DATE
crontab -e 옵션으로 리스트 등록창을 연 뒤 1분 간격으로 date.sh 를 수행하도록 등록합니다.
$ crontab -e * * * * * /home/sh91/date.sh >> /home/sh91/date.log
crontab -l 로 작업스케줄러에 등록된 리스트를 확인합니다.
$ crontab -l * * * * * /home/sh91/date.sh >> /home/sh91/date.log
1분 간격으로 출력되는 date.log 를 확인합니다.
$ tail -f date.log 2018. 02. 11. (일) 20:26:01 KST 2018. 02. 11. (일) 20:27:01 KST 2018. 02. 11. (일) 20:28:01 KST 2018. 02. 11. (일) 20:29:01 KST 2018. 02. 11. (일) 20:30:01 KST 2018. 02. 11. (일) 20:31:01 KST 2018. 02. 11. (일) 20:32:01 KST 2018. 02. 11. (일) 20:33:01 KST
'Linux > 명령어' 카테고리의 다른 글
[LINUX] expr 연산 계산 하기 (0) | 2018.02.13 |
---|---|
[LINUX] wildcard 문자열 잘라서 반환하기 (0) | 2018.02.12 |
[LINUX] sed 문자열 치환하기 (0) | 2018.02.12 |
[LINUX] vmstat 시스템 모니터링하기 (0) | 2017.12.03 |
[LINUX] strace 시스템 콜 추적하기 (0) | 2017.12.03 |