Расписание crontab и задания cron

Я положил два файла в /etc/cron.d/ каталог:

Первый делает новое сообщение каждый день в 12:00:

0 0 * * * php /var/www/site1/helper post:make

Второй обновляет последний пост каждые 10 минут

10 * * * * php /var/www/site1/helper post:update

Должен ли я делать что-то еще, чтобы эта работа выполнялась в зависимости от времени (например, каждые 10 минут), или мне нужно делать crontab job1 а также crontab job2?

РЕДАКТИРОВАТЬ: Я также установил Cronie.

4 ответа

Решение

Поместить файлы в cron.d достаточно. Тем не менее, ваша последняя запись должна быть:

*/10 * * * * php /var/www/site1/helper post:update

В противном случае он запускается один раз в час, на 10-й минуте.

Кроме того, добавить

> /dev/null 2>&1

в конце (после команды), так что cron не будет рассылать вам спам:)

Кронтабы в /etc/cron.d/ требуется имя пользователя в 6-м поле, как и /etc/crontab, Пользовательские crontabs в /var/spool/crontabs/ и через crontab -e не имеют поля имени пользователя.

Ответ Халфгаара о времени проведения каждые 10 минут также верен.

В настоящее время эти задания cron выполняются /var/www/site1/helper как php пользователь, а не выполнение /usr/bin/php и передавая ему аргументы /var/www/site1/helper post:make, Это будет работать, если у вас есть php пользователь, файл является исполняемым и имеет соответствующий шебанг. (т.е. #!/usr/bin/php в первой строке.) В противном случае он будет регистрировать ошибку в /var/log/cron/log,

Пример ниже запускает их как httpd пользователь и имеет явный путь к исполняемому файлу PHP. Вы должны выбрать подходящего пользователя.

0     0 * * *  httpd /usr/bin/php /var/www/site1/helper post:make
*/10  * * * *  httpd /usr/bin/php /var/www/site1/helper post:update

Это:

10 * * * * php /var/www/site1/helper post:update

Не будет запускаться каждые 10 минут, он будет запускаться с 10-й минуты каждого часа (00:10, 01:10, ...).

Это будет выполняться каждые 10 минут:

*/10 * * * * php /var/www/site1/helper post:update
Другие вопросы по тегам