Przejdź do głównej zawartości

cron


  • cron – demon systemowy odpowiedzialny za wykonywanie zaplanowanych zadań (tzw. „cron jobs”) w tle.
  • Współpracuje z plikami crontab, które zawierają harmonogramy działań dla użytkownika lub systemu.
  • Obecny w większości systemów Linux i Unix jako część pakietu cron lub cronie.

Okno terminala
crontab [opcje]
  • Zarządzanie plikiem crontab odbywa się za pomocą polecenia crontab.
  • Zadania uruchamiane przez cron muszą być zdefiniowane w formacie czasu i komendy.

ParametrOpis
-eEdytuje aktualny plik crontab użytkownika.
-lWyświetla aktualny plik crontab.
-rUsuwa aktualny plik crontab.
-u użytkownikOperuje na crontabie innego użytkownika (wymaga uprawnień root).

Okno terminala
# Przykład 1: Edycja własnego crontaba
crontab -e
# Przykład 2: Wyświetlenie zaplanowanych zadań
crontab -l
# Przykład 3: Zadanie uruchamiane codziennie o 2:30 w nocy
30 2 * * * /home/user/backup.sh
# Przykład 4: Usunięcie zaplanowanych zadań
crontab -r

  • Domyślnie cron uruchamia zadania w minimalnym środowisku – upewnij się, że ścieżki i zmienne środowiskowe są ustawione w skrypcie.
  • Wpisy crontaba mają pięć pól czasowych: minuta, godzina, dzień miesiąca, miesiąc, dzień tygodnia.
  • Aby sprawdzić logi działania cron, należy użyć journalctl -u cron lub zajrzeć do /var/log/cron.log (w zależności od dystrybucji).

Błąd / KomunikatPrzyczynaRozwiązanie
crontab: command not foundBrak zainstalowanego pakietu cronZainstaluj np. sudo apt install cron.
Zadanie się nie wykonujeBłąd w ścieżce, brak uprawnień lub zmiennych środowiskowychZweryfikuj logi i upewnij się, że skrypt ma prawa wykonania.
crontab: installing new crontab bez efektuBłąd składni wpisuSprawdź dokładność formatu crontaba.