
내 서버는 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"와 같은 인용문 안에 있어야 합니다.