IT/AIX&Linux

AIX 에서 crontab 사용하기!

뜻밖의 행복 2013. 2. 27. 14:45
반응형
안녕하세요?

뜻밖의 행운 입니다.  

오늘은 crontab에 관하여 간단히 다루어 보려고 합니다.


crontab은 UNIX 환경에서 주기적으로 수행되는 스케쥴링 작업을 등록할 때 사용하는 것인데요~

만 쓰면 정말 업무를 줄여주는 고마운 tool 입니다.

crontab 덕분에 새벽에 나와서 작업을 하지 않아도 되고 해야할 작업을 정확한 시간에

잊지 않게 할 수 있고 활용도가 매우 무궁무진 합니다.

그러면 어떻게 사용하는지 알아 볼까요?


cron


주의 해주실점

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글자가 잘 안 보일 시 누르면 크게 보입니다. ^^

 대표적으로 아래와 같은 이유로 보통 cron이 제대로 동작 하지 않습니다.

- profile 정보를 참조해서 발생하는 오류인지 인 해봅니다.

- 프로그램 실행 권한이 있는지 확인없을경우 권한을 할당 해줍니다.


 

cron 사용법

   crontab 편집 하기 위해서는 아래의 명령어를 입력합니다. 

# crontab -e  (편집 완료후 "wq" exit, vi 상의 명령어 사용하면 됩니다.)

- cron tab 목록 보기

# crontab -l

 

crontab 설정 방법

- cronjob 공백이나 tap 분리되는 6개의 필드가 있으며 각각 상징 하는 것은 아래와 같습니다.

cron

빨간 박스 안에 #을 제외한 맨 왼쪽 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부를 맞칩니다.

모두들 좋은  하루 되세요 ^^


반응형