/etc/crontab или любой пользовательский crontab не выполняется

/etc/crontab или любой пользовательский crontab не выполняется

Мой сервер — CentOS 5. Когда я редактирую /etc/crontab или редактирую crontab любого пользователя (включая root) с помощью команды «crontab -e», он просто добавляет «(система) 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»:

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 не запущены. Все задания cron не запущены.

Есть идеи, почему они не работают?

решение1

Проверьте, нет ли у вас файла /etc/cron.allow или файла /etc/cron.deny, приводящих к игнорированию заданий.

Если /etc/cron.allow отсутствует, то все могут запускать задания cron. Если он есть, но пустой, я не уверен, позволяет ли это кому-либо запускать задания cron.

решение2

Это ошибка в вашем crontab, посмотрите:

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

Вы вызываете run-parts с каталогом /bin/date - это наверняка не сработает. Ошибка отправляется в stderr и не кэшируется>>

решение3

Создайте файл с именем, /etc/cron.allowесли он не существует, и добавьте в него имя пользователя.

решение4

Хотя ответ на этот вопрос был принят, я хотел бы добавить то, что сработало для меня. Хорошей идеей будет заключить URL в кавычки, если он содержит запрос, он может не работать, если не заключить все в кавычки.

НЕ ЗАБУДЬТЕ ПОМЕСТИТЬ ВАШ URL, СОДЕРЖАЩИЙ "?, =, #, %", В КАвычки.

Пример. https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today должно быть в кавычках, например, так: "https://paystack.com/indexphp?docs/api/#transaction-charge-authorization&date=today"

Связанный контент