![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 30.09.2003 Skąd: gorzów wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Większość pytań dotyczy zazwyczaj zastąpienia cron'a skryptem. Nie znalazłem jednak rozwiązania tematu zbliżonego.
Mianowicie: Admin serwera generuje cron najczęściej o każdej pełnej godzinie i zaleca umieszczenie w katalogu głównym (klienta) plik: cron-hourly.php (odczyt cron co godzinę) cron-daily.php (odczyt cron co dzień) etc... naturalnie cron odczytuje z interpreterem php, pl, py, cgi w zależności od rozszerzenia pliku w katalogu głównym. Na czym polega nasz problem? 1. Posiadamy skrypt w jakimś katalogu, np. ./kiosk/plik.php który może być uruchomiony jedynie w katalogu ./kiosk. W pliku cron-hourly.php zapisanym w głównym katalogu powinniśmy umieścić cały skrypt jednak nie możemy ze względu na: - poprawność działania tego skryptu - bezpieczeństwo danych (ze strony praktycznej) - ograniczenie rozmiaru cron-hourly.php (Pamiętajmy, że plików takich jak plik.php jest kilka na serwerze w innych katalogach. 2. Plik ./kiosk/plik.php potrzebujemy odświeżać (powiedzmy) co 10 min. W prawdzie mam jakąś wizję ale... z nadmiaru pomysłów zabrnąłem w pusty zaułek. Zapewne ktoś wymyślił lub wymyśli coś innego a przy tym w tym forum temat CRON zostanie "doszczętnie" wyczerpany. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Powiedz, co wymyśliłeś, i do czego to potrzebujesz.
A my pomożemy Ci w wyborze słusznej drogi. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 30.09.2003 Skąd: gorzów wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Hmmm...
Gdybym był bardziej zaawansowanym informatykiem.... Potrzebuję niezależnie z różną częstotliwością odświeżać skrypty w różnych katalogach. Wszystkie parametry pobieram z bazy sql (np. częstotliwość odświeżania, etc.). przykładowo: [php:1:68effbcad7]<?php $rate = 5; //ile razy na godzinę $r=1; $x=1; if($x == 1) while ($rate > $r) { //ta pętla powielona w zależności od ilości skryptów. $time = time(); $sleep = 5; //opóźnienie w sek. while (true) { if (time() == $time+$sleep) break; } $f=fopen ("http://domena.pl/katalog/plik.php", "r"); $f=fclose($f); $r++; } ?>[/php:1:68effbcad7] |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat naturalnie cron odczytuje z interpreterem php, pl, py, cgi w zależności od rozszerzenia pliku w katalogu głównym.
Nie. Jeśli skrypt ma poprawnie sformatowaną pierwszą linię: Kod #!/sciezka/do/interpretera
i ustawiony bit uruchamiania w prawach dostępu to cron po prostu uruchamia ten plik. Resztą zajmuje się system. Cytat 1. Posiadamy skrypt w jakimś katalogu, np. ./kiosk/plik.php który może być uruchomiony jedynie w katalogu ./kiosk.
Zawsze możemy w cron-hourly.php umieścić: [php:1:73aab1581b]<?php chdir('kiosk'); exec('./plik.php'); ?>[/php:1:73aab1581b] Cytat W pliku cron-hourly.php zapisanym w głównym katalogu powinniśmy umieścić cały skrypt jednak nie możemy ze względu na:
- poprawność działania tego skryptu - bezpieczeństwo danych (ze strony praktycznej) - ograniczenie rozmiaru cron-hourly.php (Pamiętajmy, że plików takich jak plik.php jest kilka na serwerze w innych katalogach. Mógłbyś przybliżyć dlaczego nie możemy bo jakoś nie widzę tu żadnych ograniczeń. Cytat 2. Plik ./kiosk/plik.php potrzebujemy odświeżać (powiedzmy) co 10 min.
Rozwiązanie może brutalne i nie zawsze skuteczne ale jeśli admin nie pozwala na korzystanie z crona częściej niż raz na godzinę: [php:1:73aab1581b]<?php chdir('kiosk'); for ($i = 0; $i < 6; $i++) { exec('./plik.php'); sleep(600); } ?>[/php:1:73aab1581b] Można też użyć programu at. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 10.08.2025 - 03:08 |