Назад | Перейти на главную страницу

/ 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)

Результат "service crond status":

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 не выполняются.

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

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

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

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

Убедитесь, что у вас нет файла /etc/cron.allow или файла /etc/cron.deny, из-за которого задания игнорируются.

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