Witam. Potrzebuje aby skrypt PHP który aktualizuje bazę danych wykonywał się co godzinę sam, niezależne od odwiedzin strony www.
Aha
Cron table
Fajnie, ja też potrzebuje zrobić wiele rzeczy :)
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:
* * * * * /usr/bin/php /srv/code/page/cli/task.php >/dev/null 2>&1
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.
@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?
@Erwin14: cron taba się nie instaluje. Cron jest wbudowany Linux. Powinieneś mieć go na swoim serwerze. Poczytaj jak dodać tam wpis.
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.
Pokaż co dokładnie wrzuciłeś do crontaba.
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.
Złą komende podajesz. Powinna być np. taka /usr/bin/php /home/erwin2/page/cron.php >/dev/null 2>&1
dałem twoje:
/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:
/../php /home/erwin2/swordart.pl/cron.php
znów podobnie:
/bin/sh: /../php: Nie ma takiego pliku ani katalogu
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?
Znalazłem rozwiązanie - poleceniem
php sciezka
mowimy shellowi zeby przekazal skrypt interpreterowi php.
dziekuje za pomoc