뜻밖의 행운 입니다.
오늘은 crontab에 관하여 간단히 다루어 보려고 합니다.
crontab은 UNIX 환경에서 주기적으로 수행되는 스케쥴링 작업을 등록할 때 사용하는 것인데요~
잘만 쓰면 정말 업무를 줄여주는 고마운 tool 입니다.
crontab 덕분에 새벽에 나와서 작업을 하지 않아도 되고 해야할 작업을 정확한 시간에
잊지 않게 할 수 있고 활용도가 매우 무궁무진 합니다.
그러면 어떻게 사용하는지 알아 볼까요?
주의 해주실점
1. cron을 실행시키려는 user로 login(or su)한 후 수행 해야 합니다.
2. crontab file은 반드시 실행모드(+x 권한이 있어야 한다고도 하죠) 로 되어있어야 합니다.
3. crontable 에 작업을 등록한 후 해당 시간에 작업이 정상 작동되었는가 확인 해
보시고 만약, cron이 정상적으로 수행이 안될시는 아래 방법을 사용해 보세요
# kill -9 {cron PID}
# /usr/sbin/cron &
4. profile에 등록된 정보를 cronjob 프로그램은 참조할 수가 없습니다. 따라서
crontable 에 등록하여 프로그램을 실행할 경우 만약 해당 프로그램에서 .profile 에
등록된 정보를 참조한다면 실행 시 이 정보를 읽어오지 못하므로 반드시 쉘 스크립
트를 작성하여 참조하는 모든 정보를 추가 하여야 합니다.
cron 실행 오류시
- /var/adm/cron/log 검토해 보시고 원인을 찾아야 합니다.
아래 그림에서는 어떤 유저로 어떤 PID 로 실행 되어 성공했는지 알수 있습니다.
글자가 잘 안 보일 시 누르면 크게 보입니다. ^^
대표적으로 아래와 같은 이유로 보통 cron이 제대로 동작 하지 않습니다.
- profile의 정보를 참조해서 발생하는 오류인지 확인 해봅니다.
- 프로그램 실행 권한이 있는지 확인. 없을경우 권한을 할당 해줍니다.
cron 사용법
crontab 편집 하기 위해서는 아래의 명령어를 입력합니다.
# crontab -e (편집 완료후 "wq"로 exit, vi 상의 명령어 사용하면 됩니다.)
- cron tab 목록 보기
# crontab -l
crontab 설정 방법
- cronjob은 공백이나 tap으 로 분리되는 6개의 필드가 있으며 각각 상징 하는 것은 아래와 같습니다.
빨간 박스 안에 #을 제외한 맨 왼쪽 0부터 1번 필드라 하여 공백으로 필드를 구별 합니다.
1번필드 : 시간(분)
2번필드 : 시간(시간)
3번필드 : 일자
4번필드 : 월
5번필드 : 요일(0:일요일, 1:월요일, 2:화요일, 3: 수요일, 4: 목요일, 5 금요일, 6: 토요일)
6번필드 : 실행할 명령이나 스크립트
(5번필드 이후의 모든 문자는 공백이나 탭키와 상관없이 모두 6번필드로 인식합니다.)
여기까지 읽어 보셨다면 이제 저 위의 그림에서 1~7 까지가 언제 실행 되는지
1. 매일 오전 3시에 6번째 필드 명령어나 쉘스크립트 실행
2. 일요일 2시 45분 마다 6번째 필드 명령어나 쉘스크립트 실행
3. 매일 23시 45분 마다 6번째 필드 명령어나 쉘스크립트 실행
4. 매일 오전 11시 마다 6번째 필드 명령어나 쉘스크립트 실행
5. 매일 오전 12시 마다 6번째 필드 명령어나 쉘스크립트 실행
6. 매일 5분 마다 6번째 필드 명령어나 쉘스크립트 실행
(5,10,15 ... 이 공백이 아니라 , 로 이어져 있으므로 그렇습니다. 다르게도 응용 가능 하시겠지요?)
7. 매일 15시 마다 6번째 필드 명령어나 쉘스크립트 실행
다 맞으셨나요?
이제 crontab 을 아셨으니 스크립트만 아시면 많은 부분을 자동화 하실 수 있으시겠죠?
이것으로 crontab 1부를 맞칩니다.
모두들 좋은 하루 되세요 ^^
'IT > AIX&Linux' 카테고리의 다른 글
하루 5분 AIX - 기본 중의 기본 ls (0) | 2013.05.17 |
---|---|
하루 5분 AIX - 지금 이 host의 시간은? (0) | 2013.05.16 |
하루 5분 AIX - 누가 접속해 있나? (0) | 2013.05.15 |
하루 5분 AIX - 명령어 구성방식 (0) | 2013.05.14 |
하루 5분 AIX - password (0) | 2013.05.13 |
하루 5분 AIX - log in/out (0) | 2013.05.12 |
NTP를 이용한 시간 동기화 -1 부- (0) | 2013.02.26 |
Nmon -1 부- (3) | 2013.02.07 |
AIX dd 명령어를 이용한 동일 환경 구축 (0) | 2013.01.24 |
AIX 에서 lspv 시 hdisk가 순서대로 나오지 않을 때 (0) | 2013.01.24 |