Jak możemy pomóc?

Poszukiwanie...

Jak dodać zadanie CRON?

Zadanie CRON umożliwia wykonywanie przez serwer różnych zadań w ustalonym odgórnie czasie, zgodnie z założonym harmonogramem.

Załóżmy, że potrzebujesz uruchomić jakiś skrypt co godzinę. Aby nie robić tego ręcznie, z pomocą przychodzi Ci właśnie funkcjonalność zadań CRON. Wystarczy ustawić ją odpowiednio i wkleić polecenie, jakie ma wykonywać, aby od tego momentu wykonywało się ono w ustalonej częstotliwości.

Aby zacząć dodawanie nowego zadania, zaloguj się do panelu swojej usługi hostingowej, a następnie przejdź do opcji Zadania CRON w sekcji Funkcje zaawansowane.

Tutaj wejdź do opcji Utwórz zadanie CRON i postępuj wedle poniższych wskazówek.

  • Wartości, które można ustawić to minuta, godzina, dzień, miesiąc i dzień tygodnia (poniedziałek-niedziela; liczby 0 lub 7 reprezentują niedzielę). Każdą wartość można zignorować, umieszczając gwiazdkę (*) w polu tekstowym.
  • Możesz również określić dokładne czasy, używając przecinków do ich oddzielenia (np. 1,2,3 w polu z minutami to minuty 1, 2 i 3).
  • Możesz określić zakresy, używając myślnika (np. 5-7 wpisane w polu z godzinami to godziny od 5 do 7).
  • Możesz określić interwały, używając gwiazdki i ukośnika (np. */2 wpisane w polu z minutami to co 2 minuty).
  • Możesz je łączyć, aby stworzyć bardziej precyzyjny harmonogram (np. 1,5,11-15,30-59/2 w polu z minutami to minuty 1, 5, od 11 do 15 oraz co 2 minuta między 30 a 59).

Przykładowe polecenia CRON:

  • do uruchomienia skryptu lokalnie na serwerze: php /home/host968264/domains/host968264.xce.pl/public_html/script.php
  • do uruchomienia skryptu korzystając z jego URL: curl --silent http://www.host968264.xce.pl/cron.php > /dev/null
    Uwaga! Jeśli Twój link zawiera w składni znak specjalny, np. "http://domena.pl/cron/zadanie.php?=8Dka8fG" - ujmij cały adres w cudzysłów. W przeciwnym razie skrypt może nie zadziałać prawidłowo.
  • do uruchomienia skryptu korzystając z jego URL: wget -O /dev/null http://www.host968264.xce.pl/cron.php

Uruchamianie zadania CRON z wykorzystaniem innej wersji PHP

Może zdarzyć się, że dodane zadanie CRON dodane za pomocą polecenia php nie uruchomi się. Zdarza się tak często, gdy uruchamiany skrypt pracuje na starszych wersjach PHP.

W takim wypadku zadanie uruchom w odniesieniu do konkretnej wersji PHP, np. jeśli chcesz je uruchomić w wersji PHP 5.6:

/usr/local/bin/php5.6 /home/host968264/domains/host968264.xce.pl/public_html/script.php

Dla innych wersji PHP postępuj analogicznie, zmieniając jedynie numer wersji w poleceniu.

Debugowanie zadania CRON

Jeżeli Twoje zadanie nie wykonuje się, możesz skorzystać z opcji wysyłki jego wyniku na skrzynkę e-mail, aby sprawdzić, co powoduje problemy w działaniu zadania.

  1. W tym celu w panelu administracyjnym hostingu wejdź do zakładki Zadania CRON:
  1. Kliknij "Wyślij wszystkie wyjścia wykonanych zadań CRON na e-mail":
  1. Wprowadź swój e-mail i zapisz.
  2. Przy najbliższym wykonaniu zadania CRON, na podany e-mail otrzymasz jego wynik, na przykład:

Tutaj zauważymy, że przyczyną jest błąd związany z certyfikatem SSL, przez co skrypt nie uruchamia się, a więc dlatego zadanie CRON nie może zadziałać poprawnie zgodnie z ustawionym harmonogramem.

Twój błąd może być inny, ale za każdym razem powinieneś otrzymać wskazówkę, która naprowadzi Cię na konkretną przyczynę problemu.