Вопрос

Я пытаюсь запустить тестовый скрипт с помощью crontab в Plesk.Файл php просто отправляет мне сообщение по электронной почте.

mail('me@somewhere.com','Cron Test','Test');  

Мой путь к PHP — /user/bin/php.

Я ввел * в каждое поле, чтобы запускать скрипт каждую минуту с помощью следующей команды:

/usr/bin/php -q /usr/httpdocs/crontest.php

Однако сценарий не запускается.

Кто-нибудь может помочь?

Я, вероятно, упускаю что-то простое, я никогда раньше не использовал cron.

Любой совет ценится.

Спасибо.

Это было полезно?

Решение

Я бы начал с записи в файл журнала.например:

* * * * * /usr/bin/php -q /usr/httpdocs/crontest.php >> /a-location/crontest.log 2>&1

По крайней мере, это приведет к каким-либо очевидным ошибкам, например, невозможности найти php и т. д.

Другие советы

Я обнаружил, что при использовании пользовательского cron в Plesk возникает ряд проблем:

сначала я обнаружил, что вам следует ссылаться на сценарий из виртуального домена.Если ваш скрипт имеет абсолютный адрес /var/www/vhosts/domain.com/httpdocs/email-this.php, вам следует ссылаться на него как httpdocs/email-this.php в crontab.

Во -вторых, сценарий должен иметь очень специфические разрешения, но не уверен, кем они «должны быть». Apache: Apache - это все, что когда -либо работало для меня.Даже с установленными разрешениями на запись для группы пользователь все равно должен был быть Apache...странный.

В-третьих, самый простой способ провести тестирование — напрямую редактировать crontab, вместо того, чтобы возвращаться в Plesk каждый раз, когда мне нужно было внести изменения...Отредактируйте свой crontab следующим образом:

crontab -u [имя пользователя файловой системы] -e

В-четвертых, я никогда не мог заставить crontab записывать в файл журнала за пределами httpdocs (я пробовал статистику/logs/cron_log всеми возможными способами...ржу не могу...без кубиков).В итоге я просто добавил директиву MAILTO в начало файла crontab во время тестирования:

например:

MAILTO=you@domain.com
##      *       *       *       *       *       php -q httpdocs/cron.php

Также посмотрите это, если у вас Plesk 10 или выше: http://shaun.net/2011/09/solve-plesk-10-3-1-cron-issues/

я должен был сделать это

/usr/local/psa/bin/server_pref -u -crontab-secure-shell "/bin/sh"

чтобы этот (пример) работал:wget -O - http://www.вашдомен.com/cron.php

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top