/etc/crontab 또는 모든 사용자 crontab이 실행되고 있지 않습니다.

/etc/crontab 또는 모든 사용자 crontab이 실행되고 있지 않습니다.

내 서버는 CentOS 5입니다. /etc/crontab을 편집하거나 "crontab -e" 명령을 통해 사용자(루트 포함) crontab을 편집하면 "(체계) 로그에 RELOAD (/etc/crontab)" 또는 "(admin) RELOAD (cron/admin)"이 있습니다. /var/log/cron에 CMD가 없습니다.

/var/log/cron의 샘플 항목:

Aug 10 10:21:33 localhost crontab[31688]: (root) BEGIN EDIT (root)
Aug 10 10:21:42 localhost crontab[31688]: (root) REPLACE (root)
Aug 10 10:21:42 localhost crontab[31688]: (root) END EDIT (root)
Aug 10 10:22:01 localhost crond[2688]: (root) RELOAD (cron/root)

"서비스 크론드 상태" 결과:

crond (pid 1345) is running...

"cat /var/log/messages | grep cron" 명령은 아무 것도 제공하지 않습니다.

/etc/cron.allow의 내용:

admin
root

/etc/crontab의 내용:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
* * * * * root run-parts /bin/date >> /data/date.txt

ps aux |grep cron의 결과:

root      1345  0.0  0.1   5268  1204 ?        Ss   11:43   0:00 crond

관리자의 crontab 내용:

* * * * * /bin/date >> /data/date.txt

실행되지 않는 것은 관리자의 crontab 뿐만이 아닙니다. 모든 크론 작업이 실행되고 있지 않습니다.

왜 실행되지 않는지 아시나요?

답변1

작업이 무시되도록 하는 /etc/cron.allow 파일 또는 /etc/cron.deny 파일이 없는지 확인하십시오.

/etc/cron.allow가 없으면 모든 사람이 cron 작업을 실행할 수 있습니다. 거기에 있지만 비어 있으면 누구나 크론 작업을 실행할 수 있는지 확실하지 않습니다.

답변2

crontab에 오류가 있습니다. 다음을 확인하세요.

 * * * * * root run-parts /bin/date >> /data/date.txt

/bin/date 디렉토리를 사용하여 실행 부분을 호출합니다. 이는 확실히 실패합니다. 오류는 stderr로 이동하며 캐시되지 않습니다.>>

답변3

/etc/cron.allow존재하지 않는 경우 이름이 지정된 파일을 작성 하고 사용자 이름을 추가하십시오.

답변4

이 질문에 대한 답변이 승인되었지만 나에게 도움이 된 내용을 추가하고 싶습니다. URL을 인용하는 것이 좋습니다. URL에 쿼리가 포함되어 있으면 모든 내용을 인용하지 않으면 작동하지 않을 수 있습니다.

인용문에 "?, =, #, %"가 포함된 URL을 입력하는 것을 잊지 마세요.

예. https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today "https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today"와 같은 인용문 안에 있어야 합니다.

관련 정보