Przetestuj nasz hosting
bezpłatnie przez 14 dni.

Hosting www

649 zł

49za pierwszy rok

Pomoc/Baza wiedzy
Informacje o usługach:

Jak dodać CRON’a?

Za pomocą narzędzia CRON możesz w łatwy sposób zautomatyzować proces uruchamiania się skryptów potrzebnych do prawidłowego funkcjonowania Twojej strony w wybranych cyklicznie powtarzających się okresach czasu.

Jak utworzyć nowe zadanie dla CRON?

1. Aby utworzyć nowe zadanie CRON zaloguj się do Panelu Klienta oraz przejdź do menu Zaawansowane, a następnie Zadania cykliczne (cron).

2. W oknie przeglądarki zostanie wyświetlony formularz za pomocą którego możesz określić harmonogram czasowy wykonywania się zadania oraz polecenie, które ma zostać uruchomione.

3. Po prawidłowym uzupełnieniu harmonogramu – określeniu czasu w jakim ma zostać uruchomione zadanie, oraz po wprowadzeniu komendy należy zapisać zmiany przyciskiem Dodaj.

Jak skonfigurować harmonogram czasu wykonywania się zadań?

Domyślnie formularz zaproponuje wykonywanie się utworzonego zadania co 1 minutę, o czym świadczą znajdujące się w polach odpowiedzialnych za czas gwiazdki “*”. 

Zalecamy jednak zmianę tej konfiguracji, tak aby zadania były wykonywane w różnych odstępach czasowych, a w przypadku wielu zadań aby czasy te nie nachodziły na siebie. Taka konfiguracja pozwoli na uniknięcie problemów wynikających z przeciążenia serwera.

Zatem jeżeli chcesz, aby Twoje zadanie CRON było wykonywane co 15 minut należy zastosować poniższą zmianę dla pola minut:

  • Minuta: */15

Alternatywnie dla powyższego zapisu możesz zastosować ręczne określenie minut, w których zadanie będzie wykonywane, jest to przydatne w przypadku, kiedy dodajesz wiele zadań CRON które mają być wykonywane w podobnym okresie czasu:

  • Pierwsze zadanie: Minuta: 0, 15, 30, 45
  • Drugie zadanie: Minuta: 5, 20, 35, 50

Podobny schemat można zastosować w przypadku, kiedy chcesz aby zadania były wykonywane na przykład co godzinę. Dla pojedynczego zadania harmonogram będzie wyglądał następująco:

  • Minuta: 0 , Godzina: */1

W przypadku, kiedy chcesz, aby kilka zadań CRON było wykonywanych co godzinę, możesz zastosować następującą konfigurację:

  • Pierwsze zadanie: Minuta: 1 , Godzina: */1
  • Drugie zadanie: Minuta: 15 , Godzina: */1

W powyższej konfiguracji pierwsze zadanie będzie wykonywane w pierwszej minucie każdej godziny, natomiast drugie w 15 minucie każdej godziny.

Korzystając z powyższych zasad możesz ustawić również harmonogram uruchamiania się zadań CRON dla poszczególnych dni, miesięcy czy konkretnych dni w tygodniu.

Uwaga: Jeżeli masz wątpliwości odnośnie prawidłowej konfiguracji harmonogramu, skontaktuj się z naszym Biurem Obsługi Klienta.

Jak wygląda komenda dla CRON?

Tworzone zadania dla CRON mogą być uruchamianie w różny sposób. W poniższym artykule prezentujemy dwa najbardziej popularne rozwiązania.

Komenda dla zadań wykonywanych za pomocą narzędzia wget

Pierwszym sposobem jest skorzystanie z polecenia wget. Poprawnie utworzona komenda dla CRON, korzystająca z narzędzia wget może wyglądać następująco:

wget -q -O /dev/null "http://domena.pl/plik.php" >/dev/null 2>&1

Uwaga: W miejscu adresu należy wskazać lokalizację do pliku lub adresu URL, który ma być wykonywany w ramach utworzonej komendy. 

Komenda dla zadań wykonywanych za pomocą trybu CLI dla PHP

Drugim sposobem uruchamiania zadań CRON jest skorzystania z trybu CLI dla interpretera PHP. Poprawnie utworzona komenda, korzystająca CLI dla interpretera PHP 7.2 może wyglądać następująco:

/usr/local/bin/php72 /home/uzytkownik/domains/przykladowa-domena.pl/public_html/skrypt.php >/dev/null 2>&1

Ze względu na możliwość używania na serwerach hostingowych w Zenbox różnych wersji PHP, ścieżki służące do ich wywoływania są różne:

  • PHP 5.6 –> /usr/local/bin/php56
  • PHP 7.0 –> /usr/local/bin/php70 
  • PHP 7.1 –> /usr/local/bin/php71 
  • PHP 7.2 –> /usr/local/bin/php72 
  • PHP 7.3 –> /usr/local/bin/php73 
  • PHP 7.4 –> /usr/local/bin/php74

Szczegółowy opis tworzenia zadań z wykorzystaniem CLI dostępny jest również w naszej bazie wiedzy w artykule Jak dodać CRON’a z CLI

Jak zapisać wynik zadania CRON do pliku?

Jedną z funkcji pozwalających na przykład na sprawdzenie czy utworzone zadania CRON wykonywane są zgodnie z harmonogramem oraz nie zwracają błędów, jest utworzenie logowania ich do pliku tekstowego.

W tym celu należy w dodawanej komendzie określić nazwę pliku w którym zapisywane będą wyniki zadań oraz ścieżkę do pliku. Przykładowa komenda, która pozwala na zapis danych do pliku wygląda następująco:

wget -O /dev/null "http://domena.pl/plik.php" >> /home/uzytkownik/zadanie_cron.log 2>&1

Uwaga: W powyższej komendzie dla wget został usunięty parametr -q, który odpowiada za wykonywanie się zadań bez zwracania o nich informacji. Pozostanie parametru -q spowoduje brak zapisywania się danych w utworzonym pliku tekstowym.