Jak skonfigurować zadania CRON w DirectAdmin?
Terminarz zadań CRON w DirectAdmin pozwala automatycznie uruchamiać skrypty na serwerze o określonej godzinie, z wybraną częstotliwością – np. do generowania kopii zapasowych, odświeżania cache czy aktualizacji danych w sklepie. W tym poradniku zobaczysz, jak dodać nowe zadanie CRON, jak poprawnie ustawić harmonogram oraz jak zapisać komendę, aby nie przeciążyć serwera i jednocześnie mieć pewność, że Twoje skrypty wykonują się dokładnie wtedy, kiedy trzeba.
- Wideo instrukcja konfiguracji zadań CRON
- Terminarz zadań w DirectAdmin
- Ustawianie harmonogramu – minuty, godziny i dni
- Przykładowe komendy CRON dla PHP i wget
- Powiadomienia e-mail z zadań CRON
- Podsumowanie – o czym pamiętać przy zadaniach CRON
Wideo instrukcja
Kliknij w link, aby zapoznać się z materiałem filmowym, jak skonfigurować zadania CRON w panelu DirectAdmin.
Terminarz zadań
Terminarz zadań w DirectAdmin (CRON) pozwala na skonfigurowanie cyklicznych zadań na serwerze, np. uruchamianie określonego skryptu o konkretnej godzinie, kilka razy dziennie lub tylko w wybrane dni tygodnia. Dzięki temu wiele procesów możesz całkowicie zautomatyzować i odciążyć ręczną pracę.
Aby dodać zadanie do CRON, zaloguj się do swojego konta w DirectAdmin i przejdź do: Funkcje zaawansowane → Zadania CRON.

W tym miejscu masz możliwość dodania nowego zadania. Kliknij przycisk „Utwórz zadanie cron”.

Jeśli planujesz więcej zadań CRON (np. dla sklepu internetowego, integracji API czy cyklicznych backupów), postaw je na niezawodnym i szybkim hostingu z obsługą zadań CRON i panelem DirectAdmin . Stabilny hosting z odpowiednimi zasobami znacznie zmniejsza ryzyko błędów podczas wykonywania skryptów.
Ustawianie harmonogramu – minuty, godziny i dni
Formularz tworzenia zadania CRON składa się z pól odpowiadających za czas uruchamiania oraz pola „komenda”. Możesz uzupełnić wszystkie pola lub podać tylko komendę, pozostawiając wartości domyślne – wtedy zadanie wykona się co minutę, co rzadko jest dobrą praktyką i zwykle nie jest zalecane dla większości zadań.
Do konfiguracji dostępne są pola: minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia. W każdym z nich możesz używać zarówno liczb, jak i znaku *. Poniżej przykłady dla pola minuty:
- Dopuszczalne wartości to liczby oraz znak
*. - Możesz podać dokładne minuty, oddzielone przecinkami, np.
1,2,3(minuty 1, 2 i 3). - Możesz podać przedział czasu, stosując myślnik, np.
5-7(od 5. do 7. minuty). - Możesz użyć gwiazdki ze slashem, np.
*/2(co 2 minuty). - Możesz łączyć wszystkie sposoby, aby stworzyć precyzyjny harmonogram, np.
1,5,11-15,30-59/2(1., 5., od 11. do 15. minuty oraz pomiędzy 30. a 59. minutą co dwie minuty).
Przy konfiguracji bardziej rozbudowanych zapisów (jak w ostatnim przykładzie) pamiętaj, aby pomiędzy kolejnymi fragmentami nie było spacji – w przeciwnym razie zapis zostanie odrzucony lub zinterpretowany niepoprawnie.
Przykładowe komendy CRON dla PHP i wget
W ostatnim polu formularza należy podać komendę, jaka ma się uruchomić dla danego zadania. Poniżej kilka praktycznych przykładów:
- Polecenie zawierające ścieżkę serwerową do skryptu PHP:
/usr/local/bin/php /home/srv1171/domains/domena.pl/public_html/cron.php
Przy takim zapisie polecenie zostanie uruchomione z wykorzystaniem domyślnej wersji PHP serwera (w momencie tworzenia artykułu była to PHP 5.6). Możliwe jest również uruchamianie zadania, używając konkretnej wersji PHP – więcej informacji na ten temat znajdziesz w osobnym poradniku o zadaniach CRON dla różnych wersji PHP .
- Polecenie zawierające adres URL do skryptu:
wget -q -O /dev/null http://domena.pl/skrypt.php
Wykorzystując taki zapis, polecenie zostanie wykonane z użyciem aktywnej wersji PHP przypisanej do danej domeny. W DirectAdmin możesz w każdej chwili zmienić wersję PHP dla konkretnej domeny – instrukcję znajdziesz w poradniku o zmianie wersji PHP na serwerze WWW .
- Wyłączenie maili z wynikami zadania:
Powyższe polecenia domyślnie wysyłają informacje mailowe o wyniku zadania na skonfigurowany adres e-mail (więcej o tym poniżej). Aby uniknąć zalewania skrzynki logami, dodaj na końcu komendy zapis:
wget -q -O /dev/null http://domena.pl/skrypt.php >/dev/null 2>&1
- Przykład z użyciem
curl:curl --silent http://www.domena.pl/cron.php
Tego typu wywołanie sprawdzi się wszędzie tam, gdzie wygodniej korzystać z
curlniż zwget, np. w środowiskach, gdzie tylko jedno z tych narzędzi jest dostępne.
Po dodaniu zadania zostanie ono wyświetlone poniżej, w ramce z listą zaplanowanych CRON-ów. Możesz je edytować już po zapisaniu lub usunąć – wystarczy zaznaczyć je po prawej stronie i użyć odpowiedniego przycisku pod listą.

Powiadomienia e-mail z zadań CRON
Zadania CRON bez dopisku >/dev/null 2>&1 wysyłają powiadomienia na adres e-mail ustawiony w terminarzu zadań. W odpowiednim polu możesz podać:
- adres e-mail – logi z wykonania zadań będą trafiać na tę skrzynkę,
- login użytkownika DirectAdmin – wtedy wiadomości będą wysyłane na główny adres konta, działający tak samo jak dane logowania do panelu DirectAdmin.
Możesz także pozostawić to pole puste i zapisać – wówczas, niezależnie od tego, jak wygląda komenda w zadaniu, powiadomienia nie będą wysyłane.

Zadania CRON: podsumowanie
Terminarz zadań CRON w DirectAdmin daje bardzo dużą swobodę w określaniu czasu, w jakim dane zadanie ma się wykonać. Przed uruchomieniem cyklicznego zadania warto jednak dokładnie sprawdzić skrypt – błędnie działający kod może mocno obciążyć serwer i limity Twojego konta. Obciążenie zasobów możesz w każdej chwili zweryfikować w DirectAdmin, po zapoznaniu się z innym poradnikiem o sprawdzaniu obciążenia konta .
Ważne: dodanie zadania CRON nie oznacza, że wszystko „zadziała samo z siebie”. Przed włączeniem cyklicznego wywoływania skryptu upewnij się, że: ręczne uruchomienie skryptu nie generuje błędów, czasy wykonywania mieszczą się w limitach PHP/serwera, a harmonogram nie jest zbyt gęsty (np. co minutę dla ciężkich operacji). W razie problemów z wydajnością lub przekroczeniem limitów warto rozważyć optymalizację kodu albo przeniesienie zadań na mocniejszy plan – np. serwer VPS – tak, aby automatyzacja nie spowalniała działania całej strony.