Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Cron +php  (Прочитано 2787 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlexeylForpostl

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Cron +php
« : 04 Февраля 2011, 01:40:06 »
Здравствуйте.
Пытаюсь запустить PHP скрипт с помощью крона.
(Нажмите, чтобы показать/скрыть)
В кроне пишу
* * * * * root cd "/var/www/dir/dirtwo/"; /usr/bin/php script.php
Мне надо, что скрипт раз в минуту работал.
Но скрипт не отрабатывает.
Начиная с папки вар и заканчивая самим скриптом права стоят 777, до этого были 766 всё равно не работал.
После изменения в /etc/crontab перегружал компьютер.
Если ввести команду cd "/var/www/dir/dirtwo/"; /usr/bin/php script.php  в терминале - всё отрабатывает на ура.
Подскажите, пожалуйста, в чём проблема.

Оффлайн NT

  • Активист
  • *
  • Сообщений: 595
    • Просмотр профиля
Re: Cron +php
« Ответ #1 : 04 Февраля 2011, 04:55:52 »
а чего у тебя в одном месте php5, а в другом просто php?

Через баш или питон не проще будет?

Оффлайн getoutaway

  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: Cron +php
« Ответ #2 : 04 Февраля 2011, 08:19:02 »
Попробовать поставить php-cli  --->  */1 * * * * root php /ваш/скрипт.php
Ubuntu 10.04 LTS -> Ubuntu 11.04+Unity -> Xubuntu 11.04 -> Ubuntu 10.04.3 LTS -> Linux Mint 17

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Cron +php
« Ответ #3 : 04 Февраля 2011, 08:36:03 »
Не уверен, что несколько команд в кроне - это гуд.
Правильнее вызывать в кроне 1 команду или 1 скрипт, где уже скриптов или команд может быть сколько угодно.
Если уж без этого не обойтись, то надо как-то их сгруппировать (например кавычками).
« Последнее редактирование: 04 Февраля 2011, 08:37:39 от alexander.pronin »

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Cron +php
« Ответ #4 : 04 Февраля 2011, 09:40:50 »
если ручками скрипт с консольки запустить, то работает? если нет, то php-cli поставьте.
и послушайте alexander.pronin, он плохого не посоветует ;)

Оффлайн AlexeylForpostl

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron +php
« Ответ #5 : 04 Февраля 2011, 11:16:08 »
"а чего у тебя в одном месте php5, а в другом просто php?"
У меня стоит php5.

"Через баш или питон не проще будет?"
Мне надо запустить РНР скрипт причём здесь баш и питон, не совсем понятно. Тем более их я не знаю.

"Попробовать поставить php-cli  --->  */1 * * * * root php /ваш/скрипт.php"
кли у меня стоит.

"Не уверен, что несколько команд в кроне - это гуд.
Правильнее вызывать в кроне 1 команду или 1 скрипт, где уже скриптов или команд может быть сколько угодно."

Подскажите, пожалуйста, как с помощью скрипта реализовать описанные мною команды.

"Если уж без этого не обойтись, то надо как-то их сгруппировать (например кавычками). "
К сожалению, необходимо 2 команды.
Если просто запустить * * * * * root /usr/bin/php /path/script.php
То файл(который должен создаться после работы РНР скрипта) создаётся в каком-то другом месте.
И кстати, если запустить в командной строке /usr/bin/php /path/script.php, то файл создаётся не в той директории в которой скрипт, а из той директории, из которой запущена команда.

"если ручками скрипт с консольки запустить, то работает"
Не обессудьте, процитирую себя:
"Если ввести команду cd "/var/www/dir/dirtwo/"; /usr/bin/php script.php  в терминале - всё отрабатывает на ура."

"и послушайте alexander.pronin, он плохого не посоветует"
Спасибо за совет. Надеюсь, на его помощь в написании скрипта с командами. И затем попробую сделать, как советует господин alexander.pronin

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Cron +php
« Ответ #6 : 04 Февраля 2011, 11:23:42 »
> Мне надо запустить РНР скрипт причём здесь баш и питон, не совсем понятно
Запустить скрипт ради запуска скрипта? Только если  для обучения... Обычно скрипт какую-то полезную работу совершает, для разной работы — разные языки.

> К сожалению, необходимо 2 команды.
Ну сказано же "одна" — значит, одна.
Например, так:
bash -c "/var/www/dir/dirtwo/ && /usr/bin/php script.php"

Оффлайн AlexeylForpostl

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron +php
« Ответ #7 : 04 Февраля 2011, 12:34:49 »
Цитировать
Например, так:
bash -c "/var/www/dir/dirtwo/ && /usr/bin/php script.php"
Прописал в кронтабе, перегрузил компьютер, не отработал РНР-скрипт.

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Cron +php
« Ответ #8 : 04 Февраля 2011, 12:46:31 »
при чём тут перезагрузка?

Оффлайн AlexeylForpostl

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron +php
« Ответ #9 : 04 Февраля 2011, 12:48:06 »
Цитировать
при чём тут перезагрузка?
Чтобы крон принял новые задания. Разве не нужна?

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Cron +php
« Ответ #10 : 04 Февраля 2011, 12:49:15 »
Не нужна. АФАИК, даже крон рестартить не нужно.

Оффлайн AlexeylForpostl

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron +php
« Ответ #11 : 04 Февраля 2011, 12:51:59 »
Цитировать
Не нужна. АФАИК, даже крон рестартить не нужно.
Спасибо за совет. Но крон так и не запускает скрипт.
С чем может быть связано?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Cron +php
« Ответ #12 : 04 Февраля 2011, 12:54:33 »
Прописал в кронтабе
  • В каком конкретно? Пользовательский или системный?
  • Перевод строки на конце записи в кронтабе есть?
  • В логах крон рапартует о старте задачи?
  • Если настроена почтовая система, то в в неё ошибки сыпятся от крона?
  • Если на конец команды добавить перенаправление > /tmp/clog 2&>1 то в файле появляется ругань?
  • Сам скрипт случайно в stdout/stderr много текста не отправляет?

Оффлайн AlexeylForpostl

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Cron +php
« Ответ #13 : 04 Февраля 2011, 13:00:13 »
Цитировать
В каком конкретно? Пользовательский или системный?
/etc/crontab

Цитировать
Перевод строки на конце записи в кронтабе есть?
Нет.
P.S.
Добавил только что переход на новую строку. подождал 2 минуты. Скрипт не отработал.
Цитировать
В логах крон рапартует о старте задачи?
Логов крона не нашёл.

Цитировать
Если настроена почтовая система, то в в неё ошибки сыпятся от крона?
В /var/mail/root ниодного упоминания script.php
Хотя о других скрипта, запускаемых в кроне - есть сообщения.

Цитировать
Сам скрипт случайно в stdout/stderr много текста не отправляет?
Честно сказать, не понял, что тут написано. Сам скрипт представлен в 1м сообщении под спойлером.
« Последнее редактирование: 04 Февраля 2011, 13:04:30 от AlexeylForpostl »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Cron +php
« Ответ #14 : 04 Февраля 2011, 13:01:50 »
Нет.
Перевод строки обязан быть.

Пользователь решил продолжить мысль 04 Февраля 2011, 13:02:25:
Логов крона не нашёл.
По умолчанию он срёт в сислог.

 

Страница сгенерирована за 0.016 секунд. Запросов: 19.