LINUX.ORG.RU
ФорумAdmin

cron и странное выполнение скрипта

 , , ,


0

1

Привет, ЛОР!

Случилась такая беда:

есть php скрипт, который при запуске меняет в html-ке n на n-1. При выполнении руками (запуск по http://localhost/script.php) все срабатывает. В кроне по */1 * * * * /var/www/script.php - не срабатывает. Права на скрипт 777. В чем может быть дело?

★★

Ответ на: комментарий от BaBL

php /var/www/script.php

там в начале #!/usr/bin/php

script.php > /dev/null

поставил, конечно, но как это должно помочь? Эффект не изменился.

kir64 ★★ ()

я не буду говорить о юзерах, окружении (environment) и прочих высоких (для тебя) материях, но что выдает cron? он должен отослать юзеру письмо с выводом (ошибками)

anonymous ()
Ответ на: комментарий от kir64

там в начале #!/usr/bin/php

Ну а ты попробуй из консоли выполнить

/var/www/script.php
А потом
php /var/www/script.php
и сравни результаты.

emissar ★★ ()
Ответ на: комментарий от BaBL

/dev/null - убрать, MAILTO добавить и прочитать наконец то что пишется в лог

alpha ★★★★★ ()

Если используются какие - либо утилиты в теле скрипта ( типа cat, echo, и тд ) - надо писать полные пути, т.е. /bin/cat

Real1tySucks ()
Ответ на: комментарий от Real1tySucks

Даже в самый обрезанный PATH как минимум входят /bin и /usr/bin, но, конечно, стоит и об этом помнить.

У ТС, видимо, скрипт вообще не предусматривает какие-либо адекватные сообщения о неудачах. Поэтому приходится ломать мозг, вместо того чтобы один раз грамотно всё написать.

frozen_twilight ★★ ()
Ответ на: комментарий от frozen_twilight

Ну так может быть какая - то хитрая тулза в /usr/local/bin И тд. Пару раз напарывался на проблемы именно из - за этого. А так да, писать скрипты без логирования - моветон.

Real1tySucks ()

сделай седом и немучайся

visual ★★★ ()

Крон пользователя или из /etc?

sin_a ★★★★★ ()

*/1 * * * * /var/www/script.php

Ставь тупо

* * * * * /var/www/script.php

leader32 ()

Ещё, пропиши в файле crontab все нужные тебе переменные, тот же самый PATH. Debian 6 - переменные считывает на ура. И ещё, лучше указать интерпретатор строго:

* * * * * /usr/bin/php /var/www/script.php

leader32 ()
Ответ на: комментарий от kir64

поставил, конечно, но как это должно помочь?

поставь >>/var/log/script.log 2>&1

drBatty ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.