Skrypt PHP z Crona
Mariusz - 22-06-2006 00:29
Skrypt PHP z Crona
Jak skonfigurować Crona aby uruchamiać dowolny skrypt php? Chodzi o konfigurację na serwerze providera. Mam panel HSPComplete 7 i tam opcję uruchomienia Crona. Tam potrafię wszystko odpowiednio ustawić. Jednak problem jest co potem. Wskazanie bezpośrednio pliku cron.php powoduje zgłośzenie błędu wykonania itp itd. Jak wyglądać powinien plik na serwerze za pomocą którego można uruchomić skrypt php? Próbowałem napisać start.sh ale znaleziony przeze mnie przykład wywołania !/usr/bin/php zgłaszał błąd. W necie nie potrafiłem znaleźć informacji na ten temat choć szukałem chyba z 3 dni już. Serwer na linuxie, apache2.
-- Mariusz
Jakub Danecki - 22-06-2006 00:30
Mariusz wrote: > Jak skonfigurować Crona aby uruchamiać dowolny skrypt php?
Poza odpowiednimi prawami (nie uruchamiaj nigdy na prawa roota) to zasadniczo wsyatrczy podać prawidłową ścieżkę do php - każdy system może mieć własną, więc sprawdź gdzie urzęduje php (np. komenda which, jeżeli jest na ścieżce w shellu). Poza tym zastanów się, czy skrypt nie jest zbyt ciężki i zbyt często wywoływany, może warto go "skopilować" (o ile się da) albo napisać w bashu.
Jakub
astro - 22-06-2006 00:30
Sprobuj moze 0 * * * * lynx -dump www.wp.pl 2>/dev/null >/dev/null -- Pozdrawiam Radoslaw Ziomber www.astrofizyka.info
Monter - 22-06-2006 00:30
Kiedys mialem ten problem i ktos mi pomogl. Podaje rozwiazanie:
wget "http://[domena]/[katalog]/skrypt.php" -O /home/[katalog]/log.txt
Mariusz - 22-06-2006 00:30
> Poza odpowiednimi prawami (nie uruchamiaj nigdy na prawa roota) to > zasadniczo wsyatrczy podać prawidłową ścieżkę do php - każdy system może > mieć własną, więc sprawdź gdzie urzęduje php (np. komenda which, jeżeli > jest na ścieżce w shellu). > Poza tym zastanów się, czy skrypt nie jest zbyt ciężki i zbyt często > wywoływany, może warto go "skopilować" (o ile się da) albo napisać w > bashu.
W moim katalogu bin nie mam komendy which, jak sprawdzić gdzie lezy php i co dokładnie wpisać w linii komend w panelu crona?
-- Mariusz
Monter - 22-06-2006 00:30
Przepraszam za brak komentarza do tego co napisalem wyzej.
Tworzysz plik o dowolnej nazwie i rozszerzeniu, wpisujesz do jego wnetrza to co napisalem w poprzednim poscie. Przelacznik -O i tekst po nim mozna pominac, powoduje to tworzenie LOGu z wywolan WGETa.
Plikowi nadajesz prawa do uruchomienia jak plikom PHP i w CRON wpisujesz sciezke do niego.
U mnie ten sposob byl jedynym dzialajacym. Pozdrawiam.
Jakub Danecki - 22-06-2006 00:30
Monter wrote: > wget "http://[domena]/[katalog]/skrypt.php" -O home[katalog]/log.txt
popieram metody z lynx/wget i podobnymi: to zawsze działa. O ile są dostępne. Gorzej z wydajnością.
Jakub
Jakub Danecki - 22-06-2006 00:30
Mariusz wrote: > W moim katalogu bin nie mam komendy which, jak sprawdzić gdzie lezy php > i co dokładnie wpisać w linii komend w panelu crona?
Jak nie masz shella, to which nie działa - chodzi o to, że nie możesz zakłądać jaki PATH ma cron, więc musisz podać pełną ścieżkę do wszystkich wywoływanych programów. Może możesz zajrzeć do konfiguracji PHP/Apache?
Jakub
Mariusz - 22-06-2006 00:30
[...] > U mnie ten sposob byl jedynym dzialajacym.
No wreszcie zadziałało. Dzięki. W sumie nie przewiduje aby plik coś zwracał jako wynik więc -O odpuściłem. Ale faktycznie wydaje się, że to droga "na około". Nie da się po prostu uruchomić na serwerze pliku php?
-- Mariusz
tmerlin - 22-06-2006 00:30
Dnia środa, 21 czerwca 2006 15:06, Mariusz napisał: > [...] > > > U mnie ten sposob byl jedynym dzialajacym. > > No wreszcie zadziałało. Dzięki. W sumie nie przewiduje aby plik coś zwracał > jako wynik więc -O odpuściłem. > Ale faktycznie wydaje się, że to droga "na około". Nie da się po prostu > uruchomić na serwerze pliku php? da sie .. tylko zelezy co cchesz osiagnac .. parser php pracuje jako program . wiec mozesz z lini polecen uruchimic dowolny (poprawnie napisany) skrypt php .. wystarczy nadac mu prawa do uruchamiania i w pierwszej linii kodu wtsawic sciezke do parsera, np: #!/usr/bin/php
albo odpalac przez parser, czyli php nazwa_pliku.php
to jest tak jak bys odpalal skrypt w bash'u .. -- Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.php
phpencoder.pl - 22-06-2006 00:30
On Wednesday 21 of June 2006 15:06 Mariusz wrote:
> No wreszcie zadziałało. Dzięki. W sumie nie przewiduje aby plik coś > zwracał jako wynik więc -O odpuściłem. > Ale faktycznie wydaje się, że to droga "na około". Nie da się po prostu > uruchomić na serwerze pliku php?
plik php nie jest tutaj plikiem binarnym wiec musisz podac czym chcesz go interpretowac. skoro nie ma go w sciezce standardowej to tak czy inaczej bez podania pelnej do interpretera sie nie obejdzie, czy robisz to tak (skrypt jako argument interpretera) czy inaczej (np. #!....).
Z powazaniem, -- Szyfrowanie skryptow PHP v4+v5. Blokady: czasowe, IP, MAC Loadery dla systemow: Windows, Linux, MacOS, BSD, Solaris Zabezpiecz swoje skrypty! Przetestuj http://phpencoder.pl
Mariusz - 22-06-2006 00:30
> plik php nie jest tutaj plikiem binarnym wiec musisz podac czym > chcesz go interpretowac. skoro nie ma go w sciezce standardowej > to tak czy inaczej bez podania pelnej do interpretera sie nie > obejdzie, czy robisz to tak (skrypt jako argument interpretera) > czy inaczej (np. #!....).
A jak ją sprawdzić na serwerze providera? Są jakieś typowe ścieżki na takich "duzych" serwerach?
-- Mariusz
Jakub Danecki - 22-06-2006 00:30
Mariusz wrote: > A jak ją sprawdzić na serwerze providera? Są jakieś typowe ścieżki na > takich "duzych" serwerach?
Zapytaj administratora systemu.
Jakub
Mariusz - 22-06-2006 00:31
>> A jak ją sprawdzić na serwerze providera? Są jakieś typowe ścieżki na >> takich "duzych" serwerach? > Zapytaj administratora systemu.
No właśnie z tym jest kłopot bo to pojęcie wirtualne, wysłałem emaila do helpdesku i czekam już 2 dzień....
-- Mariusz
phpencoder.pl - 22-06-2006 00:31
On Wednesday 21 of June 2006 16:48 Mariusz wrote:
> No właśnie z tym jest kłopot bo to pojęcie wirtualne, wysłałem emaila do > helpdesku i czekam już 2 dzień....
hostingi za 5 zl/3 lata rzadza.
Z powazaniem, -- Szyfrowanie skryptow PHP v4+v5. Blokady: czasowe, IP, MAC Loadery dla systemow: Windows, Linux, MacOS, BSD, Solaris Zabezpiecz swoje skrypty! Przetestuj http://phpencoder.pl
Mariusz - 22-06-2006 00:31
>> No właśnie z tym jest kłopot bo to pojęcie wirtualne, wysłałem emaila do >> helpdesku i czekam już 2 dzień.... > hostingi za 5 zl/3 lata rzadza.
Niestety płacę znacznie więcej, no i jestem też zadowolony, w zasadzie pomocy technicznej nie potrzebuję więc nie narzekam... A kontakt z providerem czasem jest utrudniony.. ale ma to i dobre strony bo czasem płaciłem raz na pół roku zamiast co miesiąc ;-)
-- Mariusz
phpencoder.pl - 22-06-2006 00:31
On Wednesday 21 of June 2006 17:11 Mariusz wrote:
>>> No właśnie z tym jest kłopot bo to pojęcie wirtualne, wysłałem emaila do >>> helpdesku i czekam już 2 dzień.... >> hostingi za 5 zl/3 lata rzadza. > > Niestety płacę znacznie więcej, no i jestem też zadowolony,
No, wlasnie widze ;)
> w zasadzie pomocy technicznej nie potrzebuję więc nie narzekam...
Poza momentem kiedy potrzebujesz. Backupy tez nie sa potrzebny poki sie cos nie skopie etc, etc ;)
EOT ;)
Z powazaniem, -- Szyfrowanie skryptow PHP v4+v5. Blokady: czasowe, IP, MAC Loadery dla systemow: Windows, Linux, MacOS, BSD, Solaris Zabezpiecz swoje skrypty! Przetestuj http://phpencoder.pl
Ac1d^ - 23-06-2006 00:07
Troszke po terminie ale mozesz wstukac:
find -type f -name "*php*" /usr
potrwa to kilka chwil zanim znajdziesz i podejzewam ze wyrzuci kilka komunikatow o braku dostepu do katalogow na ktore nie trzeba zwracac zabardzo uwagi :].
Powinno cos wyrzucic, whereis i which nie zadziala jezeli nie ma ustawionej zmiennej srodowiskowej $PATH
Pzdr.
Mariusz - 23-06-2006 00:07
> Troszke po terminie ale mozesz wstukac: > find -type f -name "*php*" /usr
Ale jak, gdzie to wpisać? Mam dostęp tylko poprzez ftp. Czy może ustawić to dla zadania cron żeby uruchomiło raz?
-- Mariusz
tmerlin - 23-06-2006 00:07
Dnia czwartek, 22 czerwca 2006 10:29, Mariusz napisał: > > Troszke po terminie ale mozesz wstukac: > > find -type f -name "*php*" /usr > > Ale jak, gdzie to wpisać? Mam dostęp tylko poprzez ftp. > Czy może ustawić to dla zadania cron żeby uruchomiło raz? ;) sdkorzystaj z phpterm (http://phpterm.sourceforge.net/) -- Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.php
Mariusz - 23-06-2006 00:07
> Troszke po terminie ale mozesz wstukac: > find -type f -name "*php*" /usr
Wyrzucił mi cron takie coś: find: paths must precede expression Usage: find [path...] [expression]
-- Mariusz
Mariusz - 23-06-2006 00:07
>> Ale jak, gdzie to wpisać? Mam dostęp tylko poprzez ftp. >> Czy może ustawić to dla zadania cron żeby uruchomiło raz? > ;) sdkorzystaj z phpterm (http://phpterm.sourceforge.net/) Nic z tego nie mogę zrobić. Cały czas "No such file or directory".
-- Mariusz
tmerlin - 23-06-2006 00:07
Dnia czwartek, 22 czerwca 2006 10:47, Mariusz napisał: > > Troszke po terminie ale mozesz wstukac: > > find -type f -name "*php*" /usr > > Wyrzucił mi cron takie coś: > find: paths must precede expression > Usage: find [path...] [expression] No przeciez ci napisal dokladnie co trzeba zrobic ... find /usr -type f -name "*php*" -- Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.php
Mariusz - 23-06-2006 00:07
> No przeciez ci napisal dokladnie co trzeba zrobic ... > find /usr -type f -name "*php*"
Tak zrobiłem i znalazłem php w /usr/bin/php ale wcześniej już tak wywoływałem, ale wywołując plik z crona, z którego potem wywoływałem php i skrypt - to nie działało. Teraz wywołałem bezpośrednio z Crona php z parametrem skrypt i działa. Dzięki w takim razie za pomoc ;-)
-- Mariusz
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?=
Delphi for PHP Borlanda - co =?ISO-8859-2?Q?s=B1dzicie_o_tym?==?ISO-8859-2?Q?_pakiecie=3F?=
[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
mysql+php - =?ISO-8859-2?Q?wydajno=B6=E6_przy_olbrzymiej_i?==?ISO-8859-2?Q?lo=B6ci_rekord=F3w?=
Skrypt fotka.pl/sympatia.pl
Skrypt na backup (MSSQL2000) i restore (MSSQL2005)
=?ISO-8859-2?Q?[Oracle]_Wywo=B3anie_skryptu_sh_z_PL/SQL-a=3F=3F?=
[MySQL] - Wstawianie aktualnej daty do bazy danych - PHP i MySQL
Jedno zapytanie różne wyniki w polu data [mysql i mysql+php]
[MySQL/PHP] Wyszukiwanie rekordu przez kolumnę wskazaną przez zmienną
zanotowane.pldoc.pisz.plpdf.pisz.pltejsza.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|