Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Есть вопрос по КРОН (https://javascript.ru/forum/xhtml-html-css/59739-est-vopros-po-kron.html)

sergofedor06 24.11.2015 12:08

Есть вопрос по КРОН
 
Привет! есть такая задача, нужно запустить скрипт на кроне
если ссылку на скрипт вбить в адресной строке браузера то все отлично работает, а через крон нет

вот ссылка того файла что хочу поставить на крон

http://домен.com/cron.php?rule=samer&submit=submit

на крон ставил такой командой и ничего не выполняет!

wget http://домен.com/cron.php?rule=samer&submit=submit
и так
/usr/local/bin/wget http://домен.com/cron.php?rule=samer&submit=submit
и так
/usr/bin/wget -O - -q http://домен.com/cron.php?rule=samer&submit=submit

не работает, может есть способ заставить скрипт выполнится
мне нужно что бы раз в сутки был совершен переход по ссылке http://домен.com/cron.php?rule=samer&submit=submit

на сервере стоит ispmgr и там есть crone
все примеры что нашел в сети перепробовал и ничего не помогло
помогите пожалуйста с командой!

laimas 24.11.2015 20:08

Cron запускает "ваш" интерпретатор, которому нужно только указать относительный путь сценария (cron не осуществялает переходов, он выполняет указанный сценарий). Еще раз внимательно в панели управления читать о задачах - как правильно задается путь.

sanmihan 25.11.2015 07:46

Права на файл проверьте

laimas 25.11.2015 15:34

Цитата:

Сообщение от sanmihan
Права на файл проверьте

Какие?

sanmihan 25.11.2015 18:25

Цитата:

Сообщение от laimas (Сообщение 397630)
Какие?

на исполнение

laimas 25.11.2015 18:54

Цитата:

Сообщение от sanmihan
на исполнение

Cron запускает скрипт от имени владельца, а залитые скрипты и имеют таковые права, иначе они вообще не будут работать! Cron запустит без проблем скрипт даже из папки закрытой для прямого доступа клиенту.

С путями надо разбираться, не нужен протокол для cron.

sanmihan 27.11.2015 16:44

Цитата:

Сообщение от laimas
Cron запускает скрипт от имени владельца, а залитые скрипты и имеют таковые права, иначе они вообще не будут работать!

это смотря как настроят сервер, у меня была проблема с запуском скриптов по крону, выставив права, все заработало.

laimas 27.11.2015 16:58

Значит у вас не хост, а бог весть что. Нормальный хост уже настроен на стандартные права папок 755, файлов 644. Cron запускает PHP как cgi и исполняет скрипт от имени его владельца, поэтому не нужно предоставлять иные права, как например на запись всему веб-серверу (777). Иначе есть риск.

Сам вопрос темы бессмысленный ибо cron это CLI, а каком переходе может идти речь, понятии относительном. Не разобрался автор с описанием планировщика задач, не понимая, что обращение будет относительно иерархии каталога сайта без протокола, все остальное документов уже настроено - указываем путь к скрипту по правилам описанном в панели управления и время.

На хосте есть лог файл, в нем пусть и ищет ответ.

sergofedor06 30.11.2015 21:01

Цитата:

Сообщение от laimas (Сообщение 397865)
Значит у вас не хост, а бог весть что. Нормальный хост уже настроен на стандартные права папок 755, файлов 644. Cron запускает PHP как cgi и исполняет скрипт от имени его владельца, поэтому не нужно предоставлять иные права, как например на запись всему веб-серверу (777). Иначе есть риск.

Сам вопрос темы бессмысленный ибо cron это CLI, а каком переходе может идти речь, понятии относительном. Не разобрался автор с описанием планировщика задач, не понимая, что обращение будет относительно иерархии каталога сайта без протокола, все остальное документов уже настроено - указываем путь к скрипту по правилам описанном в панели управления и время.

На хосте есть лог файл, в нем пусть и ищет ответ.

ок! тогда так, есть какой-то другой вариант? мне нужно 1 раз в сутки запустить скрипт http://домен.com/cron.php?rule=samer&submit=submit
именно такого вот рода ссылкой, так же как в браузере! только что бы автоматом это делалось каждый день

sergofedor06 30.11.2015 21:02

просто тупо нужно сделать переход по этой ссылке 1 раз в день http://домен.com/cron.php?rule=samer&submit=submit

laimas 01.12.2015 06:32

Почему именно ссылкой, накрутка нужна своему домену или чужой завалить надо?
Запускайте задачу по cron, а уже в ней делайте запрос по ссылке.

sergofedor06 01.12.2015 18:54

Цитата:

Сообщение от laimas (Сообщение 398181)
Почему именно ссылкой, накрутка нужна своему домену или чужой завалить надо?
Запускайте задачу по cron, а уже в ней делайте запрос по ссылке.


Спасибо!
вы можете привести пример как сделать эту задачу по крону и перейти по ссылке - http://домен.com/cron.php?rule=samer&submit=submit


не нужно ничего валить, при переходе включается парсинг валют с другого сайта!

laimas 01.12.2015 19:57

Для того чтобы парсить чужую страницу, совсем не обязательно запускать задачу передавая в строке запроса параметры, задача то конкретная.
А вообще, курсы валют получают на сайте ЦБ, по крайней мере в нашей стране, России, где существует специальный сервис, причем с более удобным способом, SOAP, нежели было ранее.

Еще раз - cron просто по смыслу не может никуда перейти, ибо переход, это относительно кого либо. Что есть переход по адресу - это перенаправление клиента на указанный url, и не просто молча, а с выдачей соответствующего заголовка, который клиент анализирует, будь то клиентом браузер пользователя или же поисковый робот. Зачем локальной задаче куда-то переходить и анализировать собственный переход?

Вам не требуется никакого перехода, вам нужно получить содержание по указанному url, и запускать скрипт по указанному url будет не cron, а сервер владелец этого скрипта. Ваша же задача получить результат его работы либо посредством file_get_contents, либо cURL, либо SOAP, и ваш скрипт обработчик при это никуда не перейдет, а параметры в url, это всего лишь параметры для удаленного сервера. Вы путаете понятия.

Цитата:

Сообщение от sergofedor06
вы можете привести пример как сделать эту задачу по крону

Путь к вашему скрипту для планировщика задач (согласно описанию в панели управления) --> получение содержимого по указанному url, его обработка и сохранение.

alex.vv 02.12.2015 18:47

Можно через wget или curl, если они конечно настроены. (output можно куда-нибудь сохранять, не обязательно /dev/null конечно)
Код:

0 0 * * *  /usr/bin/curl --silent http://example.come/some.php &>/dev/null
Цитата:

Сообщение от laimas (Сообщение 397865)
Cron запускает PHP как cgi и исполняет скрипт от имени его владельца.

Это смотря как настроить, может запускать и как cli, и как cgi/fastCGI, и даже наверное как mod_php в каком-нибудь апаче. Это я к чему - у PHP в cli mode другой конфиг, например max_execution_time=0, и что "обычно" отваливалось с fatal error, в cli mode не отвалится. А демоны и прочие "долгоиграющие" процессы PHP склонны давать memory leak, так что надо аккуратно с этим.

laimas 03.12.2015 00:53

Цитата:

Сообщение от alex.vv
Это смотря как настроить, может запускать и как cli, и как cgi/fastCGI,

Ну если у вас VPN, можно и настроить, а хостеры предлагают де-факто стандартное.


Часовой пояс GMT +3, время: 18:13.