Tworzenie zadania cron lub zadania harmonogramu (i co zrobić, jeśli się nie uruchamia)
Za pomocą cronjoba (w DirectAdmin: Zadania Cron) mogą Państwo automatycznie uruchamiać skrypt o stałych porach, na przykład każdej nocy. Poniżej wyjaśniamy, jak go utworzyć i co zrobić, jeśli nie działa.
Zasady dotyczące cronjobów
- Prosimy uruchamiać zadanie nie częściej niż raz na 10 minut. Prosimy o to wszystkich klientów, ponieważ serwer jest współdzielony z innymi stronami internetowymi.
- Prosimy rozłożyć kilka cronjobów w czasie i wybrać spokojną porę, na przykład 03:17 zamiast dokładnie północy.
- Ciężkie cronjoby, które długo obciążają serwer, są niedozwolone. Na tym samym serwerze działa więcej stron internetowych. W razie potrzeby zatrzymujemy cronjob. Dlatego prosimy, aby zadania były krótkie i nie uruchamiały się częściej, niż to konieczne.
Tworzenie cronjoba
- Prosimy zalogować się do DirectAdmin i w sekcji Funkcje zaawansowane kliknąć Zadania Cron.
- Prosimy kliknąć Utwórz zadanie Cron.
- Prosimy podać minutę, godzinę, dzień, miesiąc i dzień tygodnia. Minutę należy zawsze podać jako liczbę, a nie gwiazdkę, w przeciwnym razie zadanie będzie uruchamiane co minutę.
- W polu polecenia prosimy wpisać pełną ścieżkę, na przykład:
/usr/local/bin/php -q /home/gebruiker/domains/jouwdomein.nl/public_html/taak.php
Prosimy zastąpić gebruiker swoją nazwą użytkownika DA. - Prosimy kliknąć Utwórz.

E-mail po każdym cronjobie
Wynik działania cronjoba trafia na domyślne konto e-mail Państwa pakietu, zob. Domyślne konto e-mail w DirectAdmin. Wynik można też wysyłać na własny adres za pomocą opcji Wyślij cały wynik Cron na e-mail. Jeśli nie chcą Państwo otrzymywać wiadomości, prosimy podczas tworzenia kliknąć Nie wysyłaj e-maili lub dopisać za poleceniem:
>/dev/null 2>&1
Uwaga przy skryptach PHP
Skrypt uruchamiany z cronjoba nie wie, w ramach której domeny działa. $_SERVER['SERVER_NAME'] i $_SERVER['DOCUMENT_ROOT'] są puste, a include ze ścieżką względną może się nie powieść. Dlatego prosimy umieścić na początku skryptu:
$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());
Cronjob nie działa?
Prosimy sprawdzić kolejno poniższe punkty:
- Prosimy przeczytać wynik. Prosimy tymczasowo usunąć
>/dev/null 2>&1i sprawdzić wiadomość na domyślnym koncie e-mail lub ustawić własny adres. Często znajduje się tam dokładna informacja, co poszło nie tak. Wynik można też zapisywać do pliku logu, dopisując za poleceniem>> /home/gebruiker/cron-log.txt 2>&1. - Prosimy sprawdzić ścieżkę. Komunikat Could not open input file oznacza, że ścieżka do skryptu jest nieprawidłowa. Prosimy sprawdzić w Menedżerze plików: ścieżka zaczyna się od
/home/gebruiker/domains/. - Prosimy sprawdzić wersję PHP. Przy użyciu
/usr/local/bin/phpzadanie korzysta z tej samej wersji PHP co Państwa strona. Jeśli skrypt działa tylko w innej wersji, prosimy zmienić ją w Select PHP version. - Prosimy przetestować polecenie ręcznie. Jeśli Państwa pakiet obejmuje Terminal, prosimy wkleić tam polecenie i sprawdzić, co się dzieje, zob. Dostęp SSH i Terminal w DirectAdmin. Bez Terminala można otworzyć skrypt w przeglądarce lub wywołać go w cronjobie za pomocą
curl --silent https://www.jouwdomein.nl/taak.php. - Prosimy sprawdzić uprawnienia. Skrypt musi być możliwy do odczytu: pliki powinny mieć uprawnienia 644, a katalogi 755. Zob. Uprawnienia plików i katalogów (chmod).
- Prosimy sprawdzić godzinę uruchomienia. Prosimy sprawdzić w polu Zadanie Cron zostanie uruchomione:, czy zadanie uruchamia się wtedy, kiedy Państwo zakładają. Jeśli przy minucie widnieje gwiazdka, zadanie uruchamia się co minutę. To zbyt często.
- Prosimy sprawdzić czas trwania zadania. Jeśli zadanie trwa długo lub uruchamia się ponownie, zanim poprzednie się zakończy, może się zawiesić lub sprawić, że pakiet osiągnie swoje limity. W takim przypadku prosimy podzielić pracę na kilka etapów.
date >> /home/gebruiker/cron-log.txt; przed poleceniem.Zob. także w podręczniku DirectAdmin: Domyślne konto e-mail Państwa pakietu.
Szczegółowe objaśnienie ze zrzutami ekranu: Zadania Cron: automatyczne uruchamianie zadań w podręczniku DirectAdmin.
Chcą Państwo dowiedzieć się więcej? Zapraszamy na bezpłatny Kurs WordPress, lekcję 6.3 Obrazy, PHP i inne sposoby na zwiększenie szybkości.
