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

расписания 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.

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

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

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

Также добавьте

> /dev/null 2>&1

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

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

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

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

В приведенном ниже примере они запускаются как httpd user и имеет явный путь к исполняемому файлу 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