Подскажите про CRON

12
malls
На сайте с 08.08.2005
Offline
255
1286

Такой вопрос есть скрипт, доступен как:

http://server.ru/script.php

Соответственно cron-ом запускается как:

/usr/bin/php -f /home/server/public_html/script.php

Предположим скрипту нужно передать параметры:

http://server.ru/script.php?param=value

Вопрос - как строчка для крона должна выглядеть чтобы то же самое реализовать???

K2
На сайте с 20.11.2007
Offline
14
#1

Седьмая по счету ссылка вас не спасет? ;)

kxk
На сайте с 30.01.2005
Offline
990
kxk
#2

malls, Дорогой всё гораздо проще : wget --spider урл до скрипта (я даже непомню где бинарник с php у меня на серваках спрятан). Да к стати мой метод можно юзать в обоих случаях что с параметрами что без :)

Ваш DEVOPS
vandamme
На сайте с 30.11.2008
Offline
675
#3

учитесь гуглить, гуглить и еще раз гуглить

не так ли говорил товарищь ЛеНиН???

malls
На сайте с 08.08.2005
Offline
255
#4
kisliy2000:
Седьмая по счету ссылка вас не спасет? ;)

Нееее... как то путано там, я подозреваю есть более просты пути, вон например kxk предложил вариант...

kxk:
malls, Ти изврощениц, а ? Дорогой всё гораздо проще : wget --spider урл до скрипта (я даже непомню где бинарник с php у меня на серваках спрятан). Да к стати мой метод можно юзать в обоих случаях что с параметрами что без :)

Сам такой! :) зачем wget если есть бинарник! :)

Как кстати оно должно тогда смотреться в виде строчки для cron, так:

wget --spider http://server.ru/script.php?param=value

???

надо ему пути до wget показывать или он системный - сам найдется?

типа:

/usr/bin/wget

Himiko
На сайте с 28.08.2008
Offline
560
#5

GET http://...../script.php?param=1

Вот и все)

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
malls
На сайте с 08.08.2005
Offline
255
#6
Himiko:
GET http://...../script.php?param=1
Вот и все)

подробнее можно?

т.е. это все что надо написать в качестве запускаемой проги??? или я не понял... можно пример полной строчки для cron.

Himiko
На сайте с 28.08.2008
Offline
560
#7
malls:
подробнее можно?
т.е. это все что надо написать в качестве запускаемой проги??? или я не понял... можно пример полной строчки для cron.

Попробуйте узнать путь до GET : which GET

edogs software
На сайте с 15.12.2005
Offline
775
#8

malls,

"полные" строчки

1) GET -t 4 "http://site.ru/script.php?param=value&param2=value2" >/dev/null

2) wget -T 4 -t 1 -O /dev/null -o /dev/null "http://site.ru/script.php?param=value&param2=value2"

3) /usr/local/bin/php -f /fullPath/script.php value1 value2 >/dev/null

В 1-ом и 2-ом случае кавычки использовать очень хорошая идея, потому что & командная строка шелла может воспринять не вполне ожидаемым способом:) Например обрубить то что идет после & восприняв & как команду запуска в фоновом режиме.

Во всех случаях направляем все выводы в null, в противном случае у Вас есть хороший шанс при каждом запуске крона создавать 1-2 файла в директории (логи, ошибки, выводимый контент, пр.), через месяц можно прийти и увидеть там штук 5 тысяч файлов, неприято.

Во втором случае параметры -T и -t заставят wget успокоится после 4 секунд попытки таскания файла и 1 попытки, иначе если у Вас скрипт по 10 минут работает, то и wget будет висеть столько же. Но не забудьте в скрипте написать нечто вроде ignore_user_abort(true); что бы он после обрыва соединения не остановился.

В первом случае параметр -t сделает примерно то же самое, что -T во втором.

В 3-ем случае параметры внутри скрипта берете не из $_GET['param'] и $_GET['param2'] а из $argv[1], $argv[2] соответственно. Но этот способ еще бывает неудобен тем, что если Вы отлаживаете скрипт адресуясь по http, то он может оказаться в несколько другом окружении будучи запущенным через /usr/local. Ну и путь к php придется у хостера выяснить (иногда можно увидеть его в phpinfo или через which php, where php).

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
RAS
На сайте с 27.11.2005
Offline
126
RAS
#9

Пускать кроны через http - это зло 😡

Лучше через шелл или с обвязкой через скрипт-эмуляции вызова из броузера, как это делается, например, в друпале.

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
Andreyka
На сайте с 19.02.2005
Offline
822
#10

php -f /скрипт параметр=значение

Только в скрипте надо работать с arg

Не стоит плодить сущности без необходимости
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий