cron이 명령 처리를 중지하는 이유는 무엇입니까? [복사]

cron이 명령 처리를 중지하는 이유는 무엇입니까? [복사]

내 Solaris 11 크론이 작동을 멈춘 것 같습니다.

이것은 내가 실행한 cron 작업의 최종 출력입니다.

-rw-r--r--   1 root     root          60 Jul  2 20:30 locked_passwords.txt

다음과 같이 테스트를 설정했습니다.

* * * * * touch /tmp/testing.txt

절대 파일에 손대지 마세요

서비스가 실행 중인지 확인했습니다.

svcs cron
STATE          STIME    FMRI
online         Mar_09   svc:/system/cron:default

파일을 번들로 묶었는데 다음과 같습니다.

root   532     1   0   Mar 09 ?           3:08 /usr/sbin/cron
pfexec truss -f -p 532
532:    pollsys(0xFC7FC1A8, 1, 0xFC7FC750, 0x00030414) (sleeping...)

내 크론 프로세스가 잠자고 있나요? 왜?

업데이트: cron을 두 번 다시 시작했지만 계속 중지됩니다. 내 로그의 대부분은 다음과 같습니다.

! c queue max run limit reached Mon Jul 24 12:53:00 2017 
! rescheduling a cron job Mon Jul 24 12:53:00 2017 
! c queue max run limit reached Mon Jul 24 12:53:00 2017 
! rescheduling a cron job Mon Jul 24 12:53:00 2017 
! c queue max run limit reached Mon Jul 24 12:53:00 2017 
! rescheduling a cron job Mon Jul 24 12:53:00 2017 

이 상태를 어떻게 진단합니까?

답변1

/var/cron/log를 확인하셨나요? 계정이 잠겼거나 cron.deny에 추가되었을 수 있나요?
/var/spool/cron/crontabs에 해당 .au 파일이 있습니까? 역사적으로 이 파일은 작업을 실행하는 데 필요했습니다. 에 의해 생성되므로 crontab -e일반적으로 cron 파일이 새 서버에 복사될 때만 손실됩니다. 호출되는 스크립트/바이너리에 문제가 있을 수 있나요?

cron 데몬은 일반적으로 작업을 기다리는 동안 잠을 자고 있습니다.

v11.3을 사용하는 경우 다음을 사용할 수도 있습니다.예약 서비스귀하의 필요에 더 유용하다면 어떨까요?

답변2

해결되었습니다! ! !

/var/cron/log는 내 문제를 해결하지 못했지만 올바른 방향을 알려주었습니다. 로그에 보면 많이 나오네요

! c 대기열 최대 실행 제한에 도달했습니다. 2010년 5월 27일 목요일 15:45:01 [[queue "c" for cron]]

/etc/cron.d/queuedefs는 다른 모든 서버와 동일하므로 문제가 되지 않습니다.

이것이 제가하는 것입니다. ps -ef | grep cron ptree <PID> pgrep -f '/export/script.sh' # verify the listing before proceeding pkill -9 -f '/export/script.sh' ** Now cron is running again **

수백 개의 script.sh가 쌓여 있는 것을 봅니다.

script.sh가 데이터베이스에 연결되어 이제 이 스크립트로 인한 변경 사항의 문제를 해결하고 있습니다. 그러나 cron은 이제 다시 실행됩니다.

감사해요

관련 정보