Uruchomienie jednego zadania nie brzmi jak wyzwanie dla człowieka, co jednak gdy chcemy je wykonać w środku nocy, gdy zdecydowanie bardziej chcielibyśmy spać? Uruchamianie skryptu ręcznie co kilka minut również nie wygląda zachęcająco? Na szczęście nie musimy robić tego manualnie, nie musimy też nikogo do tego zatrudniać, chyba że uznamy że serwer jest kimś, co w czasach wszechobecnej sztucznej inteligencji, jest co najmniej kwestią kontrowersyjną, wystarczy tutaj skonfigurować zadanie Cron, które wykona większość pracy za nas.

W tym artykule przybliżę Ci:
  • Czym jest systemowy harmonogram zadań cron
  • Jak skonfigurować zadanie
  • Praktyczne zastosowania zadań cron
  • Jak wyłączyć automatycznego cron’a w WordPress

Czym jest systemowy harmonogram zadań cron

Cron to systemowy harmonogram zadań używany w systemach operacyjnych Unix i Unix-podobnych (w tym Linux) do automatyzacji zadań. Dzięki cron możesz ustawić cykliczne wykonywanie skryptów, komend, czy innych programów w określonych odstępach czasu.

Gdy mamy już zaplanowane zadanie, serwer za pośrednictwem daemona “crond”, uruchamia zadania. Jest to swoiste serce, zegar, który co minutę wprawia w ruch kolejne zadania, według ustalonego harmonogramu.

Konfiguracja zadania cron

Nie zwalniamy tempa i przechodzimy do konfiguracji zadania. Możemy zrobić to na dwa sposoby, wprowadzając je w odpowiedniej formie – składni, do pliku crontab, lub korzystając z graficznego interfejsu użytkownika (GUI).

Informujemy: na naszym hostingu masz dostęp do wspomnianego interfejsu, który jest połączony z plikiem crontab. Gdy dokonamy zmian w jednym miejscu, będą one widoczne również w drugim. Aby go uruchomić przejdź do Panelu Klienta i wybierz Zaawansowane, a następnie Zadania cykliczne (cron).

Na potrzeby tego poradnika wybiorę właśnie wersję graficzną.

Po przejściu do  konfiguracji zadań cron powita Cię krótka ściąga (1) odnosząca się do samego harmonogramu. Zawiera ona najpotrzebniejsze informacje, dzięki którym przypomnisz sobie jak to wykonywać.

Natomiast główna sekcja (2) zawiera już możliwość odpowiedniej konfiguracji całego zadania, wraz z ustawieniem komendy (3), która ma być wykonywana.

Konfiguracja cron

Najmniejszą jednostką czasu jaką możemy operować to minuta, więc zadania będą uruchamiane co do minuty, z kolei największa częstotliwość z jaką zadanie może być wykonywane to co minutę.

Domyślne ustawienie które zastaniesz w interfejsie utworzy zadanie, które będzie wykonywało się co minutę, a to za sprawą * gwiazdek w każdym z 5 pól. Gwiazdka działa jako  wyrażenie regularne i zastępuje każdą liczbę. Opisując to słowami, komenda będzie wykonywana każdego dnia tygodnia, każdego miesiąca, każdego dnia danego miesiąca, w każdej godzinie i każdej minucie.

Warto od razu przedstawić inne wyrażenie regularne, czyli znak slash: /

Razem z gwiazdką daje on możliwości ustawienia przedziału czasowego w trochę innej formie, na przykład:

  1. Co dwie minuty
    Minuta: */2
  2. Co 12 godzin
    Godzina: */12
  3. Co trzeci miesiąc
    Miesiąc: */3

Ostatnie dwa wyrażenia to przecinek i myślnik.

Przecinek daje możliwość podania danych wartości liczbowych w jednym polu. Dla przykładu:


Komenda będzie się wykonywała tylko w niedzielę, środę i czwartek.

Dzień tygodnia: 0,3,4

Informujemy: Niedziela może być określana wartością 0 lub 7.

Komenda będzie się wykonywała od 1 do 5 danego miesiąca, od 7 do 10, a również 15 i 23:
Dzień miesiąca: 1-5,7-10,15,23

Praktyczne zastosowania zadań cron

Przykład 1: Uruchamianie skryptu PHP codziennie o 2:00 w nocy

Harmonogram:

  • Minuta: 0
  • Godzina: 2
  • Dzień miesiąca: *
  • Miesiąc: *
  • Dzień tygodnia: *
  • Komenda: /usr/local/bin/php80 /home/poradnik/scripts/skrypt.php

Przykład 2: Uruchamianie skryptu co godzinę

Harmonogram:

  • Minuta: 0
  • Godzina: *
  • Dzień miesiąca: *
  • Miesiąc: *
  • Dzień tygodnia: *

Komenda: wget -q -O /dev/null „https://domena.pl/skrypt.php” >/dev/null 2>&1

Przykład 3: Automatyczne odświeżanie bazy danych co godzinę w godzinach pracy (od 8:00 do 18:00) od poniedziałku do piątku

Harmonogram:

  • Minuta: 0
  • Godzina: 8-18
  • Dzień miesiąca: *
  • Miesiąc: *
  • Dzień tygodnia: 1-5 (poniedziałek-piątek)

Komenda: /usr/local/bin/php82 /home/poradnik/domena.pl/public_html/baza.php

Przykład 4: Synchronizacja danych z serwerem zdalnym (backup) codziennie o północy:

Harmonogram:

  • Minuta: 0
  • Godzina: 0
  • Dzień miesiąca: *
  • Miesiąc: *
  • Dzień tygodnia: *

Komenda: /usr/local/bin/rsync -avz /home/poradnik/dane/ user@zewnętrzny_serwer:/backup/data/

Jak wyłączyć automatycznego cron’a w WordPress

Wyłączenie automatycznego cron’a w WordPress i przejście na systemowy cron może zwiększyć wydajność Twojej strony, zwłaszcza w przypadku stron o dużym ruchu lub specyficznych wymaganiach dotyczących zarządzania zadaniami cron. Po wykonaniu powyższych kroków, zadania cron w WordPress będą zarządzane przez systemowy cron, co zapewni bardziej niezawodne i regularne wykonywanie zaplanowanych zadań.

Informujemy: Jeśli chcesz przyspieszyć działanie swojego WordPress’a przeczytaj nasz artykuł Jak zoptymalizować wydajność i szybkość swojej strony internetowej?

Przechodzimy do działania:

Krok 1.
Edytuj plik wp-config.php:

Zaloguj się na serwer, na którym zainstalowany jest WordPress, za pomocą FTP, SFTP lub menedżera plików w panelu administracyjnym hostingu.

Informujemy: Jeśli nie wiesz w jaki sposób zalogować się do konta FTP, mamy dla Ciebie poradnik Konfiguracja połączenia FTP w programie FileZilla

Krok 2.

Przejdź do katalogu głównego instalacji WordPress i znajdź plik wp-config.php (najczęściej taki plik znajduje się w katalogu public_html domeny).

Otwórz plik wp-config.php w edytorze tekstu.

Krok 3.

Dodaj następujący kod do pliku wp-config.php, najlepiej przed linijką /* That’s all, stop editing! Happy blogging. */:

define(’DISABLE_WP_CRON’, true);

Zapisz zmiany i zamknij plik.

Krok 4.

Po wyłączeniu automatycznego cron’a w WordPress, musisz skonfigurować systemowy cron, aby zadania cron były nadal wykonywane.

Otwórz graficzny interfejs konfiguracji cron i wprowadź poniższe dane, które pozwolą na włączanie crona co 5 minut (możesz oczywiście ustawić własną wartość):

Harmonogram:

  • Minuta: */5
  • Godzina: *
  • Dzień miesiąca: *
  • Miesiąc: *
  • Dzień tygodnia: *

Komenda: /usr/local/bin/php80 /home/uzytkownik/domains/public_html/wp-cron.php > /dev/null 2>&1

Informujemy: /dev/null jest specjalnym plikiem w systemach Unix/Linux, który działa jak „czarna dziura”. Oznacza to, że wszystko, co zostanie do niego wysłane, zostanie natychmiast usunięte. Używa się go, aby zignorować wyjście komend, które nie jest potrzebne.

2>&1 to składnia używana w powłoce (shell), która przekierowuje wyjście błędów (standardowe wyjście błędów, stderr) na standardowe wyjście (stdout).

Podsumowanie

Zarządzanie zadaniami cron jest nieodzowne dla efektywnej administracji serwerem, automatyzacji procesów oraz zapewnienia regularnego wykonywania ważnych zadań. Dzięki cron można zaoszczędzić czas i zasoby, jednocześnie zwiększając niezawodność systemu, dlatego na pewno warto się nad tym zagadnieniem pochylić.

Autor:

Konrad Matus

Lojalny mnich w Zenbox.pl, zawsze pomocny i przeważnie uśmiechnięty. Zwolennik tekstu pisanego i samego pisania. Prywatnie mąż, ojciec i syn, dokładnie w tej kolejności. W wolnym czasie remontuje, produkuje muzykę elektroniczną i gra w grę... World of Warcraft.

Może ci się spodobać również

Porady - 13 października 2025 21:13

Optymalizacja WooCommerce

Dlaczego optymalizacja WooCommerce jest kluczowa? WooCommerce to niezwykle elastyczna i popularna wtyczka sklepu internetowego w WordPress. Pozwala dodać koszyk, obsługę płatności, zarządzanie produktami – niemal wszystko, czego potrzebuje sklep online, ale ta elastyczność ma swoją cenę: wydajność. W miarę rozwoju sklepu, dochodzi co raz więcej produktów, klientów a wraz z tym rośnie liczba zapytań do […]

Więcej →

Porady - 9 października 2025 9:24

Klonowanie WordPress za pomocą wtyczki Duplicator

Podstawowym i zalecanym sposobem klonowania strony opartej na WordPress w Zenbox jest skorzystanie z opcji Klonowanie dostępnej w sekcji Aplikacje (Installatron) (Jak wykonać klona strony opartej o WordPress za pomoca Installatrona). Narzędzie to w większości przypadków działa sprawnie i pozwala szybko przenieść stronę pod nowy adres. Zdarza się jednak, że podczas procesu mogą wystąpić błędy […]

Więcej →

Rocket
WordPress - 23 czerwca 2025 16:02

Jak testować szybkość strony na WordPress?

Krótki czas wczytywania strony jest bardzo ważny dla pozytywnych doświadczeń użytkowników, a także pozycji w wynikach wyszukiwania Google. W tym artykule przedstawimy popularne narzędzia do testowania czasu wczytywania, które mogą być pomocne w pracach optymalizacyjnych. Dlaczego ważny jest czas wczytywania strony na WordPress? Długi czas wczytywania strony może zniechęcić użytkowników do jej przeglądania. W dzisiejszych […]

Więcej →