[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запуск скрипта через cron с другого сервера.
WAP
Здравствуйте, подскажите пожалуйста есть такая возможность запускать php script cron'ном с другого сервера?



Спустя 22 минуты, 43 секунды (5.03.2011 - 13:51) sergeiss написал(а):
Если посредством браузера - то да, можно. По-другому, вроде как, низзя.

Спустя 18 часов, 50 минут, 39 секунд (6.03.2011 - 08:42) WAP написал(а):
Мне нужно, чтобы скрипт на другом сервере запускался самостоятельно по времени в 22:00 и в 07:00

Спустя 10 минут, 54 секунды (6.03.2011 - 08:52) twin написал(а):
Ставишь на этом сервере такой скрипт:
<?php

@file_get_contents('Тут адрес другого сервера');

И зпускаешь по крону как душе угодно

Спустя 2 часа, 15 минут, 47 секунд (6.03.2011 - 11:08) sergeiss написал(а):
WAP - я тебе ответил уже. Чем тебе не нравится этот вариант?

twin - не согласен, т.к. это частный случай. Далеко не везде можно скачать скрипт таким образом wink.gif wink.gif wink.gif wink.gif wink.gif wink.gif wink.gif И мне очень странно, что именно ты даешь такой совет.

А запустить скрипт в браузере можно спокойно с любого сервака.

Спустя 21 минута, 18 секунд (6.03.2011 - 11:30) Trianon написал(а):
Цитата (WAP @ 6.03.2011 - 08:42)
Мне нужно, чтобы скрипт на другом сервере запускался самостоятельно по времени в 22:00 и в 07:00

Webcron'ом можно организовать.
Хотя сама постановка вопроса, когда кому-то что-то нужно [запускать] на другом сервере - настораживает.

Спустя 11 минут, 18 секунд (6.03.2011 - 11:41) Trianon написал(а):
Цитата (sergeiss @ 6.03.2011 - 11:08)
twin - не согласен, т.к. это частный случай. Далеко не везде можно скачать скрипт таким образом  wink.gif  wink.gif  wink.gif  wink.gif  wink.gif  wink.gif  wink.gif И мне очень странно, что именно ты даешь такой совет.

А запустить скрипт в браузере можно спокойно с любого сервака.

Скачивать скрипт вроде не требовалось...

А насчет запустить php-скрипт в браузере - тем более в режиме планированного периодического запуска - я как-то тоже не понял.

Даже если на минуточку забыть, что совсем не на любом сервере установлен браузер.

Может быть поясните свою мысль?

Спустя 20 минут, 4 секунды (6.03.2011 - 12:01) sergeiss написал(а):
Цитата (Trianon @ 6.03.2011 - 12:41)
Может быть поясните свою мысль?

Естественно могу smile.gif

Задачу ТС поставил такую: надо сделать периодический запуск скрипта на сервере, но при этом крон с этого сервера трогать, судя по всему, низзя.
Поэтому если мы просто вызовем этот скрипт в браузере на другом компе (сервере) http://own_server.ru/needed_script.php, то он будет выполнен именно на том сервере, где записан... В итоге скрипт запущен в нужное время, крон на "родном" сервере не используется => задача выполнена.

Вот это и имел ввиду.

Спустя 11 минут, 47 секунд (6.03.2011 - 12:13) twin написал(а):
Trianon
Цитата
Хотя сама постановка вопроса, когда кому-то что-то нужно [запускать] на другом сервере - настораживает.

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

sergeiss
Ну я както воспринял задачу буквально:
Цитата
Запуск скрипта через cron с другого сервера.

Самое простое "потрогать" его по http функцией file_get_contents()
Можно сокеты использовать или курл, не столь важно. Браузер как то не особо вписывается в концепцию.

Спустя 2 минуты, 21 секунда (6.03.2011 - 12:15) sergeiss написал(а):
Цитата (twin @ 6.03.2011 - 13:13)
Браузер как то не особо вписывается в концепцию.

Это с какого бока смотреть... Ведь мало серверов отдадут файл через file_get_contents() другому, "левому" серверу. Потому что это явное нарушение безопасности.
А поставить браузер на "нашем" сервере, чтобы запускать что-то на другом, мы можем. Для этого достаточно обычного компа.

Если я в чем не прав - можешь кинуть в меня пару тухлых помидор smile.gif

Спустя 5 минут, 25 секунд (6.03.2011 - 12:20) Trianon написал(а):
Цитата (sergeiss @ 06.03.2011 - 12:01)
Поэтому если мы просто вызовем этот скрипт в браузере на другом компе (сервере) http://own_server.ru/needed_script.php, то он будет выполнен именно на том сервере, где записан...


Несомненно. Один раз, в момент обращения браузером к этому URL.

Цитата (sergeiss @ 06.03.2011 - 12:01)
В итоге скрипт запущен в нужное время, крон на "родном" сервере не используется => задача выполнена.


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

Вариант, предложенный twin'ом, не сработает при запрещенной на местном сервере allow_url_fopen. (В этом случае можно было бы предложить применить cURL.) Другие ограничния мне в голову не приходят.
Конечно, если этот скрипт формирует дикий по размеру выходной поток (что планированным процессам как правило не свойственно), лучше вытянуть его через $f = fopen($url); while(!feof($f)) fgets($f); fclose($f); но это уже частности, по-моему.

Спустя 9 минут, 23 секунды (6.03.2011 - 12:30) Trianon написал(а):
Цитата (sergeiss @ 6.03.2011 - 12:15)
Это с какого бока смотреть... Ведь мало серверов отдадут файл через file_get_contents() другому, "левому" серверу. Потому что это явное нарушение безопасности.
А поставить браузер на "нашем" сервере, чтобы запускать что-то на другом, мы можем.

Вообще-то сервер в состоянии отличить запрос из браузера от запроса из php-скрипта лишь по полям заголовка, (таким как REFERER:, USER_AGENT: и т.п.)

Чтобы подставить их в запрос, в функции file_get_contents можно отдельным параметром указать предварительно созданный и подготовленный контекст запроса.

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.