Jak skonfigurować zadania CRON w DirectAdmin?
Terminarz zadań w DirectAdmin (CRON) pozwala na skonfigurowanie cyklicznych zadań na serwerze, np. uruchamianie danego skryptu o określonej lub określonych porach dnia. Poniżej możesz zobaczyć jak takie zadanie skonfigurować.
Wideo Instrukcja
Kliknij w link aby zapoznać się z materiałem filmowym jak skonfigurować zadania CRON w panelu DirectAdmin.
Terminarz zadań
Aby dodać zadanie do CRON, musisz zalogować się do swojego konta w DirectAdmin i przejść do: Funkcje zaawansowane -> Zadania CRON.
Tutaj masz możliwość dodania zadania. Kliknij przycisk "Utwórz zadanie cron"
Należy uzupełnić wszystkie pola lub samo pole "komenda" a pozostałe pozostawić domyślne. Należy jednak przy tym uważać, w takiej konfiguracji dane zadanie będzie wykonywane co minutę (nie jest to zalecana konfiguracja dla większości zadań).
Przy konfiguracji nowego zadania można dokładnie ustawić czas, w jakim ma się ono uruchamiać. Do konfiguracji, jak widać powyżej, są: minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia. Poniżej przykłady podania dokładnego czasu w polu minuty:
- Dopuszczalne wartości to liczby oraz znak *.
- Możesz podać dokładne czasy oddzielone przecinkami. np.: 1,2,3 (minuty 1,2 i 3)
- Możesz podać przedziały czasu, stosując myślnik, np.: 5-7 (od 5 do 7 minuty)
- Możesz podać przedziały, używając gwiazdki i slasha, np. */2 (co 2 minuty)
- Możesz łączyć wszystkie sposoby, aby stworzyć bardziej precyzyjne terminarze, np. 1,5,11-15,30-59/2 ( 1, 5, od 11 do 15 minuty i pomiędzy 30 a 59 minutą co dwie minuty)
Przy konfiguracji bardziej precyzyjnych czasów, jak ostatni podany przykład, nie może być spacji pomiędzy kolejnymi zapisami.
W ostatnim polu należy podać komendę, jaka ma się uruchomić dla tego zadania. Poniżej przykłady:
- Polecenie zawierające ścieżkę serwerową do danego skryptu:
/usr/local/bin/php /home/srv1171/domains/domena.pl/public_html/cron.php
Przy takim zapisie polecenie zostanie uruchomione przy wykorzystaniu domyślnej wersji PHP serwera, w momencie pisania tego artykułu jest to PHP 5.6. Możliwe jest uruchamianie zadania, używając konkretnej wersji PHP, więcej informacji na ten temat znajdziesz tutaj.
- Polecenie zawierające adres internetowy do skryptu:
wget -q -O /dev/null http://domena.pl/skrypt.php
Używając tego zapisu, polecenie zostanie wykonane z wykorzystaniem aktywnej wersji PHP dla danej domeny. Możesz w DirectAdmin zmienić aktywną wersję PHP dla domeny, zapoznaj się z tym artykułem.
- Powyższe polecenia będą wysyłały informację mailową na temat zadania, na skonfigurowany adres email (o tym poniżej). Aby tego uniknąć, należy dodać do polecenia zapis >/dev/null 2>&1:
wget -q -O /dev/null http://domena.pl/skrypt.php >/dev/null 2>&1
- Jest również możliwość użycia curl do konfiguracji zadania, przykładowo:
curl --silent http://www.domena.pl/cron.php
Po dodaniu zadania zostanie ono wyświetlone poniżej, w ramce. Można je zmieniać już po dodaniu lub usuwać, należy je zaznaczyć po prawej stronie i użyć odpowiedniego przycisku poniżej.
Jak wspomniałem wcześniej zadania bez dodanego zapisu ">/dev/null 2>&1" wysyłają powiadomienia na adres email ustawiony w terminarzu zadań. Możesz w polu podać: adres email lub nazwę użytkownika DirectAdmin (login konta). W przypadku podania loginu wiadomości będą wysyłane na główny adres konta, jego dane logowania są takie same jak do samego konta DirectAdmin. Można pole zostawić puste i zapisać, wtedy niezależnie od zapisu komendy w zadaniu, powiadomienia nie będą wysyłane.
Podsumowanie
Terminarz zadań daje możliwość dość swobodnego określania czasu, w jakim dane zadanie ma się wykonać. Warto przed uruchomieniem takiego zadania sprawdzić skrypt w poszukiwaniu błędów. Błędnie działający skrypt może nadmiernie obciążyć zasoby konta, które również możesz sprawdzić w DirectAdmin, po zapoznaniu z innym artykułem.