PHP - skrypt wykonywujący się co godzinę

PHP - skrypt wykonywujący się co godzinę
E1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

Witam. Potrzebuje aby skrypt PHP który aktualizuje bazę danych wykonywał się co godzinę sam, niezależne od odwiedzin strony www.

SO
  • Rejestracja: dni
  • Ostatnio: dni
1

Aha

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6992
3

Cron table

mr_jaro
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Grudziądz/Bydgoszcz
  • Postów: 5300
0

Fajnie, ja też potrzebuje zrobić wiele rzeczy :)

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1788
2

Musisz dodać wpis do cron taba, który będzie wywoływał twój skrypt co ile tam sobie chcesz.

Tutaj możesz sobie wygenerować taki wpis. Przykładowy dla skryptu co minutę wygląda tak:

Kopiuj
* * * * * /usr/bin/php /srv/code/page/cli/task.php >/dev/null 2>&1
FE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 18
0

Troszkę więcej informacji o CRON.
https://pomoc.home.pl/baza-wiedzy/cykliczne-uruchamianie-cron
edit:
W linku można dowiedzieć się jak zabezpieczyć plik oraz przykładową nazwę pliku. Są również zawarte przykłady co może być w pliku crona.

E1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

@Ferdyrurka: skrypt mi działa jak go sam wywołuje. zmieniłem jego nazwę na cron-5min.php ale nie wywołuje się. testowałem to tylko na xampie. skrypt leży w głównym katalogu projektu.
@Desu gdzie jest ten cron tab. muszę go instalować czy to jest wbudowane w interpreter php?

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1788
1

@Erwin14: cron taba się nie instaluje. Cron jest wbudowany Linux. Powinieneś mieć go na swoim serwerze. Poczytaj jak dodać tam wpis.

E1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

Ok, już dodałem wpis do crona z tym że przy pomocy webftp na hostingu. Skrypt się wywołuje. Z tym że zamiast rezultatu przychodzi mi mail z błędem składni na pierwszych 3 linijkach, mimo że skrypt jest w zupełności poprawny i działa przy ręcznym wywołaniu. Błąd składni już jest niby nawet w linijce gdzie jest tylko "<?php". Plik skryptu ma nadane uprawnienia execute.
O co tu chodzi? Cron myśli że to plik bash czy co? Skrypt ma nazwę cron.php.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Pokaż co dokładnie wrzuciłeś do crontaba.

E1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

nie wiem jak dostać się do crontaba przez ssh, chyba nie ma na tym hostingu albo nie wiem gdzie szukać. zaraz spytam się supportu. w załączniku screen jak wygląda wpis w panelu admina.

FE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 18
0

Złą komende podajesz. Powinna być np. taka /usr/bin/php /home/erwin2/page/cron.php >/dev/null 2>&1

E1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

dałem twoje:

Kopiuj
/usr/bin/php /home/erwin2/domena.pl/cron.php

niestety zwróciło:

/bin/sh: /usr/bin/php: Nie ma takiego pliku ani katalogu

spróbowałem jeszcze:

Kopiuj
/../php /home/erwin2/swordart.pl/cron.php

znów podobnie:

/bin/sh: /../php: Nie ma takiego pliku ani katalogu

DU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 106
1

Nie wiem czy to ja mam już jakieś zwidy, ale w twoim panelu masz przykłady użycia, na zdjęciu które zamieściłeś. Próbowałeś któreś z nich, a szczególnie te które oznaczyłem czerwonymi strzałkami?

E1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
1

Znalazłem rozwiązanie - poleceniem

Kopiuj
php sciezka

mowimy shellowi zeby przekazal skrypt interpreterowi php.
dziekuje za pomoc

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.