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

Centos 5 - Настройка задания PHP crontab

Я запускаю сервер CentOS 5 и пытаюсь запланировать задание, которое запускает файл php каждый день в одно и то же время, я добавил новый файл в каталог

/etc/cron.d/

называется get_files

В get_files файл содержит следующее:

03 6 * * * php /var/www/html/get-info.php

Однако похоже, что указанная выше работа не выполняется. Что я делаю не так?

Работа cron в /etc/cron.d/ (а также /etc/contab) иметь шесть частей перед командой, а не пять. Первые пять - это, как и следовало ожидать, расписание. Шестой - это пользователь, от имени которого должна запускаться команда.

Файлы Cron часто содержат явно заданные переменные, такие как SHELL и PATH что позволяет избежать необходимости указывать полные пути ко всему в остальной части файла cron.

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
03 6 * * * root php /var/www/html/get-info.php

Ваше исходное задание cron могло бы регистрировать ошибку в /var/log/cron говоря, что он не может найти пользователя «php».

вы должны использовать полный путь к php и использовать переключатель -f

03 6 * * * /path/to/php -f /var/www/html/get-info.php