Utworzenie zadania cron (oraz co zrobić, jeśli nie działa)
Dzięki zadaniu cron (w DirectAdmin: Zadania Cron) mogą Państwo uruchamiać skrypt automatycznie o stałych porach, na przykład każdej nocy. Poniżej dowiedzą się Państwo, jak je utworzyć i co zrobić, gdy nie działa.
Zasady dotyczące zadań cron
- W przypadku Webhost One i Webhost Two zadanie może się uruchamiać maksymalnie raz na 10 minut, łącznie dla wszystkich zadań.
- W pakietach Power Webhost zadania mogą być uruchamiane częściej.
- Jeśli mają Państwo kilka zadań cron, warto rozłożyć je w czasie i wybrać spokojną godzinę, na przykład 03:17 zamiast dokładnie północy.
- Zadania cron, które mocno i długo obciążają serwer, nie są dozwolone. Na tym samym serwerze działa wiele innych stron. W razie potrzeby zatrzymamy takie zadanie. Prosimy więc o utrzymywanie zadań w krótkiej formie i uruchamianie ich tylko tak często, jak to konieczne.
Tworzenie zadania cron
- Zaloguj się do DirectAdmin i w sekcji Funkcje zaawansowane kliknij Zadania Cron.
- Kliknij Utwórz zadanie Cron.
- Wypełnij pola minuty, godziny, dnia, miesiąca i dnia tygodnia. Minutę zawsze podawaj jako liczbę, a nie gwiazdkę, w przeciwnym razie zadanie będzie uruchamiane co minutę.
- W polu polecenia podaj pełną ścieżkę, na przykład:
/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
Zastąp gebruiker swoją nazwą użytkownika DA. - Kliknij Utwórz.

Wiadomość e-mail po każdym zadaniu cron
Wynik działania zadania cron trafia na domyślne konto e-mail Państwa pakietu, zobacz Domyślne konto e-mail w DirectAdmin. Wynik mogą Państwo także wysyłać na własny adres za pomocą opcji Wysyłaj wszystkie wyniki Cron na e-mail. Jeśli nie chcą Państwo otrzymywać wiadomości e-mail, podczas tworzenia zadania kliknij Zapobiegaj wysyłaniu e-maili albo dodaj na końcu polecenia:
>/dev/null 2>&1
Uwaga przy skryptach PHP
Skrypt uruchamiany z zadania cron nie wie, pod jaką domeną działa. Zmienne $_SERVER['SERVER_NAME'] i $_SERVER['DOCUMENT_ROOT'] są puste, a dołączenie pliku za pomocą ścieżki względnej może się nie powieść. Dlatego na początku skryptu umieść:
$pad = '/home/gebruiker/domains/jouwdomein.nl/public_html'; $_SERVER['SERVER_NAME'] = 'jouwdomein.nl'; $_SERVER['DOCUMENT_ROOT'] = $pad; set_include_path($pad . PATH_SEPARATOR . get_include_path());
Zadanie cron nie działa?
Proszę sprawdzić kolejno poniższe punkty:
- Sprawdź wynik działania. Usuń tymczasowo
>/dev/null 2>&1i sprawdź wiadomość e-mail na domyślnym koncie e-mail albo ustaw własny adres. Często znajdą tam Państwo dokładną informację o tym, co jest nie tak. Wynik mogą Państwo też zapisywać do pliku dziennika, dodając na końcu polecenia>> /home/gebruiker/cron-log.txt 2>&1. - Sprawdź ścieżkę. Komunikat Could not open input file oznacza, że ścieżka do skryptu jest nieprawidłowa. Sprawdź w Menedżerze plików: ścieżka powinna zaczynać się od
/home/gebruiker/domains/. - Sprawdź wersję PHP. Przy użyciu
/usr/local/bin/phpzadanie korzysta z tej samej wersji PHP co strona internetowa. Jeśli skrypt działa tylko w innej wersji, zmień ją w Wybierz wersję PHP. - Przetestuj polecenie ręcznie. Jeśli pakiet zawiera dostęp do Terminal, wklej tam polecenie i sprawdź, co się stanie, zobacz Otwieranie SSH lub Terminal w DirectAdmin. Bez dostępu do Terminal można otworzyć skrypt w przeglądarce albo wywołać go w zadaniu cron za pomocą
curl --silent https://www.jouwdomein.nl/taak.php. - Sprawdź uprawnienia. Skrypt musi być możliwy do odczytania: pliki powinny mieć uprawnienia 644, a foldery 755. Zobacz Uprawnienia plików i folderów (chmod).
- Sprawdź godzinę uruchomienia. Przy polu Zadanie Cron zostanie uruchomione: sprawdź, czy zadanie działa w oczekiwanym momencie. Jeśli przy minucie widnieje gwiazdka, zadanie uruchamia się co minutę i może zostać zatrzymane.
- Sprawdź limit pakietu. Jeśli zadanie uruchamia się częściej, niż pozwala na to Państwa pakiet, lub trwa zbyt długo, zostanie przerwane. W takim przypadku warto rozłożyć pracę na kilka etapów.
date >> /home/gebruiker/cron-log.txt;.Zobacz również w instrukcji DirectAdmin: Domyślne konto e-mail Twojego pakietu.
Szczegółowe wyjaśnienie ze zrzutami ekranu: Zadania Cron: automatyczne uruchamianie zadań w instrukcji DirectAdmin.
