Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Cykliczne wykonywanie skryptu, Crone lub inne rozwiązania.
Jifer
post 19.04.2009, 22:22:36
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 1.04.2009

Ostrzeżenie: (0%)
-----


Zaznaczam, że wiem do czego służy crone, net jest tego pełen.

Potrzebuję, by pewien skrypt był uruchamiany regularnie (kopia bazy danych, uaktualnianie rankingu, wysyłanie spamu czy inne badziewia).
Tu zaczęły mi się schody.

Wszędzie jest opisane jak nazywać pliki dla crona i takie tam. Czego natomiast nie wiem.

-skąd mam wiedzieć czy mój serwer to obsługuje
(korzystam z serwera wirtualnego, mam swój FTP i tyle. Nie mam dostępu do konfiguracji serwera. O ile mi wiadomo używa CGI)
-jak mam zaimplementować to w moim skrypcie PHP

o ile sam język PHP znam dość dobrze jak na amatora, o tyle komendy które znajdowałem w necie (te przypominające ajaxa) przerastają mnie.

Proszę o pomoc i wyjaśnienie krok po kroku jak laikowi jak mam sprawdzić/zainstalować/uruchomić crona lub coś podobnego, zaimplementować to w moim skrypcie PHP tak by takowy wykonywał się sam regularnie co np. 7 dni.
(nie mam pojęcia z jakiej platformy korzysta serwer z którego używam).

Z góry dziękuję za wszelką pomoc, zwłaszcza tym, którzy czytają i jasno odpowiadają, a nie marudzą żebym se wygooglał i takie tam.
Go to the top of the page
+Quote Post
PawelC
post 19.04.2009, 22:47:49
Post #2





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Cytat
-skąd mam wiedzieć czy mój serwer to obsługuje
(korzystam z serwera wirtualnego, mam swój FTP i tyle. Nie mam dostępu do konfiguracji serwera. O ile mi wiadomo używa CGI)

W panelu np DirectAdmin powinieneś mieć coś takiego jak CronJobs.
Cytat
-jak mam zaimplementować to w moim skrypcie PHP

Piszesz skrypt i przy pomocy terminarza CronJobs ustawisz ścieżkę do skryptu i co ile ma odpalać skrypt
Go to the top of the page
+Quote Post
jareeny
post 19.04.2009, 22:50:58
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

Ostrzeżenie: (0%)
-----


A masz w panelu admininstratora (konta na serwerze ofc) chociaż napisane CRON? Jeżeli nie, to zapewne nie masz obslugi crona i nic nie zrobisz. Dla pewności przejrzyj co usługodawca pisze o tym co jest udostępnione na serwerze a co nie. Jak masz wątpliwości, no to napisz do obsługi klienta winksmiley.jpg


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
Jifer
post 19.04.2009, 23:08:52
Post #4





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 1.04.2009

Ostrzeżenie: (0%)
-----


już to zrobiłem, napisałem. Czekam na razie na odpowiedź. W panelu nie mam nic o Cronie, nie mam również nic na ten temat w specyfikacji.

Nie ma żadnej innej alternatywy? Coś co mogło by działać w ramach FTP, bez ingerencji w pliki systemowe. Coś w stylu klasy?
Go to the top of the page
+Quote Post
PawelC
post 19.04.2009, 23:10:16
Post #5





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Kiedyś słyszałem coś że można wykorzystać harmonogram zadań windowsa do otwierania strony ze skryptem, ale wadą tego jest to że będzie działało tylko jak będzie komputer włączony.
Poczytaj o tym w necie.
Go to the top of the page
+Quote Post
Jifer
post 20.04.2009, 11:19:55
Post #6





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 1.04.2009

Ostrzeżenie: (0%)
-----


Mam taką usługę na serwerze.
To mam nadzieję będzie ostatnie pytanie.

"
Nastepnie wrzuca go Pan na konto i z shella wydaje komende:
crontab ./cron.txt
"

z wiki wiem co to shell, ale jak się do niego dostać. Jaki program / wtyczka.
Nie wiem jak i gdzie mam wprowadzić owe komendy dla shela.

Niestety w google coś wprowadzić z frazą shell to katastrofa... to jak wpisać kowalsky
Go to the top of the page
+Quote Post
PawelC
post 20.04.2009, 11:27:46
Post #7





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Skoro jest taka usługa na serwerze to w panelu powinna być możliwość ustawienia zadań crona. Jaki masz panel, DA czy inny?
Go to the top of the page
+Quote Post
Jifer
post 20.04.2009, 11:47:24
Post #8





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 1.04.2009

Ostrzeżenie: (0%)
-----


panel mam autorski firmy w której wykupuje serwer. Nie ma tam tego. Trzeba dostać się do servera inaczej, poprzez SSH.

Wygooglałem puttiego i nim się połączyłem. Komendy pięknie działają, muszę teraz tylko sprawdzić, czy skrypt będzie mi się regularnie odpalał.

Połączenie z shell (poprzez telnet lub ssh lub inne)
ściągamy klienta obsługującego takowe badziewie, np putty, łączymy się ze swoim serverem i ju. Dalej to kaszka. Trzeba tylko komendy poznać, a tego net jest pełen.

Jeszcze tylko muszę dowiedzieć się jak na swoim serwerze testowym (localhost) zainstalować crona. Problem w tym, że mam winde tongue.gif

Ten post edytował Jifer 20.04.2009, 11:48:07
Go to the top of the page
+Quote Post
PawelC
post 20.04.2009, 11:49:41
Post #9





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


http://cronw.sourceforge.net/ -> CRONw - CRON for Windows
http://www.cronforwindows.com/ -> cron for windows




Ten post edytował ExPlOiT 20.04.2009, 11:49:57
Go to the top of the page
+Quote Post
Jifer
post 20.04.2009, 13:54:51
Post #10





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 1.04.2009

Ostrzeżenie: (0%)
-----


hmmm.... macie pomysł dlaczego mi to nie chodzi?

'lan/cron_test.php' zawiera zapytanie SQL dodające wpis do bazy (działa poprawnie)

takie wpisy dla crona wprowadzałem

*/2 * * * * /usr/local/bin/php /home/jifer/public_html/cron_test.php (teoretycznie co 2min)
* 14 * * * /usr/local/bin/php /home/jifer/public_html/cron_test.php (teoretycznie co minutę o 14stej)

*/2 * * * * wget http://lan.jifer.civ.pl/cron_test.php //samo wget z adresem powoduje dodanie linijki w bazie
*/2 * * * * lynx -dump http://lan.jifer.civ.pl/cron_test.php //samo również działa jak wget

oraz

dopisek na początku pliku cron_test.php
#!/usr/local/bin/php -q

i wpis crontab
*/2 * * * * php /home/jifer/public_html/cron_test.php

i masę innych mniej lub bardziej podobnych

żadne z nich ie powoduje, że w bazie pojawia się wpis
(samo wywołanie komendy wget lub lynx -dump ręcznie powoduje dodanie pozycji)
Co jest nie tak?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:09