Przykłady Crontab: Rzeczywiste harmonogramy
Teoria jest ważna, ale zobaczenie wyrażeń cron w kontekście z rzeczywistymi przypadkami użycia sprawia, że składnia staje się zrozumiała. Ta kolekcja obejmuje najczęstsze scenariusze planowania, z którymi się spotkasz, od prostej automatyzacji po złożone harmonogramy produkcyjne.
Podstawowe interwały czasowe
Co minutę: "* * * * *" - Używaj dla monitorowania o wysokiej częstotliwości lub testów (ale uważaj na obciążenie systemu przy wykonywaniu co minutę).
Co 5 minut: "*/5 * * * *" - Powszechne dla zadań o umiarkowanej częstotliwości jak sprawdzanie głębokości kolejki, odpytywanie API z limitami lub aktualizacje cache.
Co 10 minut: "*/10 * * * *" - Równoważy responsywność ze zmniejszonym narzutem dla dashboardów monitoringu lub agregacji logów.
Co 15 minut: "*/15 * * * *" - Ćwiartkogodzinne zadania jak zbieranie metryk, czyszczenie plików tymczasowych lub zarządzanie sesjami.
Co 30 minut: "*/30 * * * *" - Półgodzinne sprawdzenia dla przetwarzania e-maili, synchronizacji danych lub raportów o umiarkowanej częstotliwości.
Co godzinę: "0 * * * *" - Godzinne zadania uruchamiają się o pełnej godzinie. Powszechne dla rotacji logów, agregacji godzinowej lub regularnych kopii zapasowych.
Co 2 godziny: "0 */2 * * *" - Zmniejszona częstotliwość dla zadań, które nie potrzebują wykonania co godzinę, jak kompleksowe sprawdzenia stanu lub pomocnicze kopie zapasowe.
Co 6 godzin: "0 */6 * * *" - Ćwiartkodobowe zadania o północy, 6:00, 12:00 i 18:00. Przydatne dla rozproszonego przetwarzania w ciągu dnia.
Co 12 godzin: "0 */12 * * *" - Dwa razy dziennie o północy i w południe dla półdobowych zadań jak przetwarzanie wsadowe lub eksporty danych.
Te wzorce interwałowe stanowią podstawę większości zaplanowanej automatyzacji. Wybierając częstotliwość, równoważ aktualność (jak szybko musisz wykrywać zmiany lub przetwarzać dane) z zasobami systemowymi (każde zadanie zużywa CPU, pamięć i I/O).
Harmonogramy dzienne i tygodniowe
Codziennie o północy: "0 0 * * *" - Klasyczny czas na codzienne kopie zapasowe, archiwizację logów, konserwację bazy danych i nocne przetwarzanie wsadowe.
Codziennie o 2:00: "0 2 * * *" - Przesunięcie od północy, aby uniknąć konfliktów, gdy wiele zadań domyślnie uruchamia się o północy. Dobre dla optymalizacji bazy danych lub raportowania.
Codziennie o 6:00: "0 6 * * *" - Przetwarzanie przed godzinami pracy, aby przygotować systemy na dzień. Rozgrzewanie cache, importy danych lub poranne raporty.
Codziennie o 12:00: "0 12 * * *" - Przetwarzanie w południe dla raportów południowych lub systemów wymagających aktualizacji w godzinach pracy.
Codziennie o 18:00: "0 18 * * *" - Przetwarzanie po zamknięciu biznesu dla codziennych podsumowań, eksportów lub przygotowania nocnych zadań.
Dni robocze o 9:00: "0 9 * * 1-5" - Poranne zadania od poniedziałku do piątku jak wysyłanie raportów dni roboczych, uruchamianie usług godzin pracy lub integracje tylko dla dni roboczych.
Wieczory dni roboczych: "0 18 * * 1-5" - Przetwarzanie na koniec dnia roboczego dla danych biznesowych, które gromadzą się tylko w dni robocze.
Poranki weekendowe: "0 8 * * 6,7" - Przetwarzanie w sobotę i niedzielę dla zadań, które powinny unikać obciążenia dni roboczych.
Poniedziałki rano: "0 9 * * 1" - Tygodniowe zadania na początek tygodnia jak wysyłanie raportów na początek tygodnia, czyszczenie tygodniowych cache lub przetwarzanie specyficzne dla poniedziałków.
Piątki wieczorem: "0 17 * * 5" - Przetwarzanie weekendowe dla tygodniowych podsumowań, piątkowych wdrożeń lub eksportów weekendowych.
Niedziele wieczorem: "0 23 * * 0" - Tygodniowe przetwarzanie przed początkiem tygodnia. Pełne tygodniowe kopie zapasowe, kompleksowa konserwacja lub archiwizacja weekendowa.
Dzienne wzorce powinny uwzględniać implikacje stref czasowych, szczególnie dla systemów globalnych. Zadanie o północy UTC uruchamia się o różnych czasach lokalnych dla użytkowników na całym świecie.
Harmonogramy miesięczne i specjalistyczne
Pierwszy dzień miesiąca: "0 0 1 * *" - Miesięczne zadania początkowe jak miesięczne kopie zapasowe, cykle rozliczeniowe, miesięczne raporty lub przetwarzanie subskrypcji.
Środek miesiąca: "0 0 15 * *" - Przetwarzanie w połowie miesiąca dla dwutygodniowej listy płac, miesięcznych sprawdzeń lub podziału miesięcznej pracy.
Pierwszy poniedziałek miesiąca: Wymaga to skryptu, który sprawdza datę, ponieważ standardowy cron nie może wyrazić "pierwszego poniedziałku". Użyłbyś "0 0 1-7 * 1", co uruchamia się przez pierwsze siedem dni, gdy są poniedziałkiem, a następnie twój skrypt sprawdza, czy jest to faktycznie pierwsze wystąpienie.
Ostatni dzień miesiąca: Standardowy cron nie może tego wyrazić bezpośrednio (wymagałby "0 0 L * *" w rozszerzonej składni). Użyj skryptu, który uruchamia się codziennie i sprawdza, czy jutro jest pierwszym.
Kwartalnie (pierwszy dzień stycznia, kwietnia, lipca, października): "0 0 1 1,4,7,10 *" - Raporty kwartalne, zadania zgodności lub przetwarzanie sezonowe.
Rocznie (1 stycznia): "0 0 1 1 *" - Roczne zadania jak roczna archiwizacja, raporty roczne, odnowienia licencji lub przetwarzanie rocznicowe.
Tylko miesiące letnie (czerwiec-sierpień): "0 0 * 6-8 *" - Zadania sezonowe, które dotyczą tylko określonych miesięcy.
Tylko godziny pracy (9:00 - 17:00 dni robocze): "0 9-17 * * 1-5" - Godzinne zadania podczas godzin pracy dla systemów skierowanych do klientów lub zewnętrznych integracji.
Godziny nocne (23:00 - 5:00): "0 23-5 * * *" - Nocne przetwarzanie, gdy obciążenie systemu jest najniższe. Uwaga: zakresy nie obejmują północy w standardowym cron; użyj dwóch wpisów "0 23 * * *" i "0 0-5 * * *" zamiast tego.
Każdy dzień roboczy o wielu porach (rano i po południu): "0 9,14 * * 1-5" - Dwa razy dziennie w dni robocze o 9:00 i 14:00 dla regularnych sprawdzeń.
Złożone harmonogramy często wymagają wielu wpisów cron lub skryptów, które wykonują dodatkowe sprawdzenia daty wykraczające poza to, co może wyrazić składnia cron.
Wypróbuj Narzędzie
Crontab Generator