You cannot see this page without javascript.

메뉴 건너뛰기

WHKorea

OS hpux cron job 실행 에러 처리 방안

구피천사 2018.07.05 15:22 조회 수 : 49

 

[ 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 로그 파일도 초기화 된다.

위로