Warsztaty z WordPressa we Wrocławiu - 14 i 15 maja

Cron jest ważnym narzędziem systemowym, którego zadaniem jest uruchamianie wskazanych przez Ciebie skryptów cyklicznie o określonej porze. Mogą to być przykładowo skrypty aktualizujące kursy walut czy synchronizujące stany magazynowe w Twoim sklepie z zewnętrznymi hurtowniami. Cron będzie również niezbędny do ustawienia własnego systemu mailingowego, rozsyłającego określoną ilość wiadomości w jednostce czasu.

Pomoc - konfiguracja cron w cPanel

Po kliknięciu Zadania cron przechodzimy do widoku, w którym możemy podejrzeć, jakie aktualnie zadania cron są zdefiniowane na naszym koncie oraz możemy dodać nowe.

Adres e-mail zadań cron

Zadanie cron po każdym swoim wykonaniu może przesłać wynik swojego działania na wskazany adres e-mail. Jest to bardzo przydatne w celu analizy potencjalnych błędów w skryptach. Otrzymując taki e-mail mamy również pewność, że zadanie cron wykonało się prawidłowo oraz zakończyło się poprawnym rezultatem. Korzystanie z tej funkcji nie jest jednak wymagane. Szczególnie w przypadku dużej ilości zadań cron wykonywanych często, warto wyłączyć otrzymywanie e-maili aby nie otrzymywać nadmiernie dużo wiadomości z tego systemu. Natomiast jednak w przypadku chęci jego uruchomienia klikamy opcję "więcej" wpisujemy adres email oraz zatwierdzamy klikając w "Aktualizuj adres e-mail".

Dodaj nowe zadanie cron

W celu dodania nowego zadania cron musimy ustawić dwie rzeczy. Pierwsza z nich to wskazanie częstotliwości wykonywania zadania. Możemy wybrać jedną z najczęściej używanych wartości, jak na przykład raz na 5 minut, raz na godzinę bądź raz dziennie. Możemy również wprowadzić własne ustawienia. Przykładowo tak, aby skrypt był wywoływany w każdy wtorek stycznia, o godzinie 11:30. W przypadku skryptów wymagających dużej mocy obliczeniowej, zalecane jest ich uruchamianie wyłącznie w godzinach nocnych.

Pomoc - dodawanie nowego zadania cron w cPanel

Do crona najczęściej wpisywane są skrypty php, odpowiedzialne za wykonanie określonych zadań w używanym przez Ciebie oprogramowaniu np. sklepu internetowego. Można je wywoływać na kilka różnych sposobów. To, jaki sposób będzie najlepszy w Twoim przypadku, sprawdzisz w instrukcji instalacji Twojego oprogramowania.

Oto przykłady:

/usr/bin/php /home/nazwakonta/public_html/folder/skrypt.php
/usr/bin/php-cli /home/nazwakonta/public_html/folder/skrypt.php
wget -qO- http://nazwakonta.mserwis.pl/folder/skrypt.php
curl -f -s -k http://nazwakonta.mserwis.pl/folder/skrypt.php

Pierwsze dwa przykłady dotyczą wywołania interpretera php, gdzie jako parametr podajemy pełną ścieżkę dostępu do danego skryptu. Wywołanie w trybie "php" działa inaczej, niż skrypt wywoływany z poziomu przeglądarki internetowej. W tym trybie nie będą dostępne pewnie zmienne środowiskowe i autor skryptu php musi uwzględnić taką sytuację. Rozwiązaniem tego typu problemów może być wywoływanie PHP w trybie "php-cli" lub korzystanie z komend systemowych "wget" lub "curl", które wykonują skrypt przy wykorzystaniu adresu zewnętrznego, a nie lokalnej ścieżki dostępu.

Bieżące zadania cron

Pomoc - podgląd zadań cron w cPanel

Na samym dole tego widoku możemy sprawdzić, jakie zadania cron mamy już dodane. Każde z nich możemy edytować, bądź usunąć. W trybie edycji możemy zarówno poprawić składnię polecenia, jak również zmienić częstotliwość wykonywania skryptu.

Należy pamiętać, iż każde zadanie cron korzysta z puli zasobów obliczeniowych dostępnych dla danego konta hostingowego. Zalecamy więc, aby zadania uruchamiać nie częściej, niż to rzeczywiście jest potrzebne. Uruchamianie cyklicznych zadań w godzinach nocnych z kolei nie będzie wpływało na dostępność zasobów strony WWW.