Cron a ip zadania

0

Witam wszystkich

Chcialbym sie zapytac jak to jest z adresem IP a cronem. Na serwerze posiadam 5 domen, kazda z innym adresem ip. Chcialbym. Uruchomic na kazdej z domen zadanie cron, jednak zeby kazde z nich mialo inny adres ip. Wiadomo.ze jak uruchamiam skrypt przez www to wszystjo jest ok, a jak to jeat na cronie?

Pozdrawiam

0

IP i zadania na cronie mają ogólnie niewiele wspólnego.

Jeśli w zadaniu używasz wget do odpalenia jakiegoś zdalnego skryptu, to wtedy wget ma parametr --bind-address pozwalający na określenie adresu z którego się łączy.
Jeżeli odpalasz skrypty lokalne, to w ogóle to się dzieje bez pośrednictwa TCP/IP.

0

No tak jednak trzymam plik na serwerze, w katalogu mojej domeny do której jest przypisany IP. Zadanie cron wykonuje plik PHP który wysyła maila łącząc się z serwerem SMTP i wtedy używa do tego jakiegoś adresu bo przecież musi jakoś się połączyć :)

0

w twoim przypadku cron odpala skrypt i na tym jego praca sie konczy bo potem skrypt wysyla maila za pomoca serwera smtp i zadne ip tu do niczego nie jest potrzebne.

0

Aaaa.

To w takim razie... zależy to w jaki sposób robisz to w PHP (mail? fsockopen?).

Ogólnie, to da się to zrobić w sockets, to jest dość niski poziom: http://stackoverflow.com/questions/4765269/specify-source-ip-using-fsockopen

0

Dla fsockopen: http://blog.nachtarbeiter.net/2008/08/21/binding-phps-fsockopen-to-a-specific-ip-address/
Dla cURL: CURLOPT_INTERFACE.
Dla mail: http://stackoverflow.com/questions/4299126/how-to-send-email-from-a-specific-ip-address#answer-4324935

Generalnie nie znalazłem opcji, żeby każde połączenie wykonywane było spod podanego IP. Szukaj pod Twój konkretny przypadek (nie wiem czym wysyłasz), jak nie znajdziesz to poszukamy razem (tylko wtedy podaj jak się łączysz)

0

jednak skrypt laczy sie z serwerem poczty uzywajac jakiegos ip, jakiego ?:)
odpalajac skrypt w przegladarce ip jest pokazane w zmiennej globalnej a uruchamiany skrypt z crona juz tego ip nie pokazuje.

0

używa domyślnego
skrypt uruchamiany z crona poprzez interpreter php nie ma IP w $_SERVER gdyż wykonanie jego nie dokonuje się przez protokół internetowy (wszak jest na tej samej maszynie) - IP przy łączeniu się poprzez PHP gdzieś dalej jest IP domyślnym dla maszyny
skrypt uruchomiony poprzez wget/lynx powoduje, że maszyna łączy się poprzez internet sama ze sobą (w praktyce pewnie routing spowoduje, że połączenie nie wyjdzie poza router brzegowy i tak), w związku z tym w $_SERVER będziesz miał adres IP maszyny (to będzie ten sam adres, którym łączy się php wykonywane z interpretera [no chyba, że wbije się tam 127.0.0.1])

podałem Ci parę linków, zajrzyj w nie

1 użytkowników online, w tym zalogowanych: 0, gości: 1