OS hpux cron job 실행 에러 처리 방안
2018.07.06 00:22
[ Crontab 설정 ]
crontab -e --> 스케쥴 수정및 등록
crontab -l --> 스케쥴 확인
* * * * * command >/dev/null 2>&1 형식으로 등록한다.
매분 매시 매일 매월 매주(0은 일요일)
>/dev/null 의 의미는 명령어 실행 결과를 로그로 쌓지 않고 없애는 역활이고 앞에 1이 생략되었으며
1은 일반적인 수행 결과이며 2는 에러내용으로 2>&1 의 의미는 일반적인 수행 결과와 같이 처리한다는 의미로
정상로그와 에러내용까지 널처리 한다는 내용이다.
만약 별도 로그파일로 저장하지 않을 경우 ">" 으로 로그 파일을 지정하지 않으면
cron 로그에 쌓이게 되며 에러발생시 해당 계정의 메일로 쌓이게 되어 일정기간 지나면 mqueue 가 대량 쌓이게 되므로
관리가 별도로 필요하게 된다.
만약 mqueuer가 꽉차서 더이상 쌓이게 되지 않을경우는 cronjob이 수행이 되지 않으므로 주기적인 관리 포인트로 남게된다.
[ 에러 발생 내용 ]
/var/adm/cron/log 파일에
!c 대기행렬의 최대 실행 한계에 도달했습니다.
!c queue max run limit reached
메시지가 뜸.
이것은 max cron queue값 이상 cron job이 수행되려고 했을때 발생함.
[ 조치방법 ]
설정파일에서 최대 queue값 늘려주기 -> crond restart
1. 설정파일에서 최대 queue값 늘려주기
/var/adm/cron/queuedefs 에 c라인 추가
a.4j1n
b.2j2n90w
c.200j.2n.60w <--- 이 라인 추가
queuedefs 파일 형식
q.[njobj].[nicen].[nwaitw]
- q. : job 수행 주체
a=at 으로 시작된 job
b=batch로 시작된 job
c=cron으로 시작된 job
d~y=user defined queue
- njobj : 최대 Job개수
cron의 default 값은 100
- nicen : 우선순위
- nwaitw : Wait시간(초단위)
Queue가 MAX에 도달했을때 다시 Queue값을 확인하는 wait시간
/etc/default/cron 수정
DISABLE_MAXJOB_LIMIT=0
2. crond restart
/sbin/init.d/cron stop
/sbin/init.d/cron start
재기동을 하게되면 /var/adm/cron/log 로그 파일도 초기화 된다.
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
» | hpux cron job 실행 에러 처리 방안 | 2018.07.06 | 407 |