Странное поведение времени

355
Alexandre Lavoie

Мне нужно запускать CRON каждые 5 минут для конкретного пользователя example.com, выполняемый скрипт является файлом php.

Файл: /var/spool/cron/crontabs/example.com

/5 * * * * /usr/bin/php -f /home/example.com/public_html/cron.php 

Ничего не происходит (нет ошибок в журнале, нет сообщений об ошибках, ничего). То же самое при тестировании с:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/php -f /home/example.com/public_html/cron.php 

Конечно, запуск файла вручную работает. Также, смена CRON каждую минуту работает:

* * * * * /usr/bin/php -f /home/example.com/public_html/cron.php 

При попытке использовать то же время запуска (5 минут), но при этом rootон работает отлично (/ var / spool / cron / crontabs / root вместо /var/spool/cron/crontabs/example.com).

Я тестировал на Slackware 12.0 и Slackware 14.0 ... та же проблема.

0
Вы устанавливаете новый crontab с `crontab -e`, который проверяет формат на наличие проблем? Или вы обращаетесь к файлу непосредственно в редакторе? John1024 9 лет назад 0
@ John1024 редактирует файл с помощью `vi` или` webmin` (проверено оба). Также проверено `crontab -u example.com -e` ... больше не повезло. Alexandre Lavoie 9 лет назад 0
Если эта команда является последней строкой в ​​файле crontab и в конце нет возврата каретки, она не будет выполнена. Это всего лишь выстрел в темноте, но у меня это случалось в прошлом, и я часами пытался выяснить проблему, и все, что было, было то, что я не нажал ENTER в конце строки. Странно, я знаю, но это случилось со мной. Widgeteye 8 лет назад 0

1 ответ на вопрос

0
John1024

crontab -e говорит мне, что это ошибка («плохая минутка ... ошибки в файле crontab, не могу установить»):

/5 * * * * /usr/bin/php 

С другой стороны, он принимает и запускает программу каждые 5 минут:

0-59/5 * * * * /usr/bin/php 

Это также принимается, и программа запускается каждые 5 минут:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/php 

Как пользоваться crontab -e

crontab -eоткроет текущий crontab с помощью редактора, заданного переменными среды VISUAL или EDITOR, если он существует или /usr/bin/editorне существует. После редактирования, но перед установкой исправленного файла, он проверяет формат и, в случае обнаружения проблем, выдает ошибки и предлагает вам либо повторно отредактировать файл, либо выйти, оставив crontab без изменений.

Общие проблемы с cron

Вики сообщества с большим количеством информации о распространенных проблемах cron:

Что ж, я, вероятно, допустил ошибку с `/ 5`, но не упомянул, что я также тестировал` * / 5`. Дело в том, что `0,5,10, ...` допустимо, но ТОЛЬКО работает, если используется в корневом файле (запускается как root). При использовании в пользовательском файле сайта, он будет работать один или два раза и ничего больше ... Alexandre Lavoie 9 лет назад 0
Они работают нормально для меня, как обычного пользователя. Какие cron-сообщения вы видите в `/ var / log` для сообщений? У вас настроен cron для отправки электронной почты в случае ошибок? John1024 9 лет назад 0
Он настроен на отправку электронной почты в случае ошибки, но не электронной почты и не зарегистрированной ошибки (/ var / log / cron пуст). Alexandre Lavoie 9 лет назад 0
@AlexandreLavoie ОК. Если в файлах журналов нет информации и система электронной почты выходит из строя, нам нужно работать усерднее. Попробуйте перенаправить stdout и stderr следующим образом: `0,5,10,15,20,25,30,35,40,45,50,55 * * * * / usr / bin / php -f / home / example. com / public_html / cron.php> $ HOME / my.log 2> & 1`. Кроме того, пока он не работает, используйте _only_ `crontab -e` для внесения изменений в crontab. John1024 9 лет назад 0