Cron job

Kasia Bielawska
>
Kasia Bielawska

Co to jest cron job?

Cron job to automatyczne zadanie uruchamiane na serwerze o określonej porze albo w regularnych odstępach czasu. Najprościej mówiąc: jest to sposób na to, aby serwer sam wykonywał wybrane czynności bez ręcznego klikania przez użytkownika.

Cron job działa najczęściej w systemach Linux i Unix. Można go wykorzystać do prostych prac technicznych, ale też do codziennych działań związanych z utrzymaniem strony, sklepu internetowego czy aplikacji. Takie zadanie może np. wysyłać raport, czyścić pamięć podręczną, wykonywać kopię zapasową albo uruchamiać synchronizację danych.

W praktyce cron job jest jednym z najważniejszych mechanizmów automatyzacji na serwerze. Dlatego spotkasz go zarówno na klasycznym hostingu www, jak i w bardziej rozbudowanych środowiskach, takich jak serwer VPS.

Jak działa cron job?

Działanie opiera się na pliku konfiguracyjnym zwanym crontab (cron table). W tym pliku zapisuje się instrukcje w specjalnym formacie składającym się z pięciu pól (gwiazdek) oraz ścieżki do zadania. Pola te określają kolejno: minutę, godzinę, dzień miesiąca, miesiąc oraz dzień tygodnia.

Przykładowo, jeśli chcemy, aby nasz skrypt PHP uruchamiał się codziennie o północy, wpisujemy odpowiednią komendę w harmonogramie. Jest to szczególnie przydatne, gdy posiadamy hosting wordpress, gdzie automatyczne sprawdzanie aktualizacji wtyczek czy publikacja zaplanowanych wpisów opiera się właśnie na podobnych mechanizmach (tzw. WP-Cron).

Cron job działa według harmonogramu. Administrator albo właściciel strony ustawia:

  • co ma się uruchomić,
  • kiedy ma się uruchomić,
  • jak często ma się powtarzać.

Serwer odczytuje taki plan i wykonuje zadanie automatycznie. Dzięki temu nie trzeba pamiętać o ręcznym odpalaniu skryptów czy wykonywaniu powtarzalnych czynności.

Przykłady zastosowań cron job

  • Tworzenie kopii zapasowych: Automatyczny backup plików i bazy danych co noc.
  • Wysyłka newsletterów: Rozsyłanie kolejek wiadomości w określonych odstępach czasu, aby nie przeciążyć serwera pocztowego.
  • Synchronizacja stanów magazynowych: Pobieranie danych z zewnętrznych hurtowni do Twojego sklepu co godzinę.
  • Czyszczenie pamięci: Usuwanie tymczasowych plików, które zbiera systemowy cache, aby zwolnić miejsce na dysku.