"리눅스 반복 예약작업 cron, crond, crontab"의 두 판 사이의 차이

11번째 줄: 11번째 줄:
│  │  │  │  │
│  │  │  │  │
│  │  │  │  │
│  │  │  │  │
│  │  │  │  └───── 요일 (0 - 6) (0 =일요일)
│  │  │  │  └────────── 요일 (0 - 6) (0 =일요일)
│  │  │  └────────── 월 (1 - 12)
│  │  │  └─────────── 월 (1 - 12)
│  │  └─────────────── 일 (1 - 31)
│  │  └──────────── 일 (1 - 31)
│  └──────────────────── 시 (0 - 23)
│  └───────────── 시 (0 - 23)
└───────────────────────── 분 (0 - 59)
└────────────── 분 (0 - 59)
</source>
</source>
:→ 분시일월요!
:→ 분시일월요!

2012년 11월 20일 (화) 16:34 판

cron, crontab, cron job, crontab job
크론, 크론탭, 크론작업, 리눅스 작업 스케줄러
  • 리눅스용 작업 스케줄러
  • 특정시각에 명령어가 수행되도록 등록가능

1 등록형식

*    *    *    *    *  수행할 명령어
┬   ┬   ┬   ┬   ┬
│   │   │   │   │
│   │   │   │   │
│   │   │   │   └────────── 요일 (0 - 6) (0 =일요일)
│   │   │   └─────────── 월 (1 - 12)
│   │   └──────────── 일 (1 - 31)
│   └───────────── 시 (0 - 23)
└────────────── 분 (0 - 59)
→ 분시일월요!
  • 1 5 * * * /root/myscript.sh
→ 매일 5시 1분에 /root/myscript.sh 를 수행
  • */5 * * * * /root/myscript2.sh
→ 5분마다 /root/myscript2.sh 를 수행

2 작업목록 확인

현재 사용자
[root@jmnote ~]# crontab -l
no crontab for root
다른 사용자
[root@jmnote ~]# crontab -l -u testuser
no crontab for testuser

3 직접 등록

crontab -e

vi 편집기로 현재 사용자에 대한 cron작업의 확인/수정을 직접 할 수 있다.

4 등록 스크립트

명령어 (예시)
cat <(crontab -l) <(echo "1 5 * * * /root/myscript.sh") | crontab -
→ 매일 5시 1분에 /root/myscript.sh 를 수행하도록 등록
실행예시
[root@jmnote ~]# crontab -l
no crontab for root
[root@jmnote ~]# cat <(crontab -l) <(echo "1 5 * * * /root/myscript.sh") | crontab -
[root@jmnote ~]# crontab -l
1 5 * * * /root/myscript.sh

5 삭제

현재 사용자의 예약작업을 모두 삭제

crontab -r
실행예시
[root@jmnote ~]# crontab -l
* * * * * /root/a.sh
* * * * * /root/b.sh
* * * * * /root/c.sh
[root@jmnote ~]# crontab -r
[root@jmnote ~]# crontab -l
no crontab for root

6 로그

변경/수행 이력은 /var/log/cron에 기록된다.

7 같이 보기

8 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}