Cron

Ten artykuł dotyczy programu komputerowego. Zobacz też: inne znaczenia tego słowa.

cron jest opartym na czasie programem do harmonogramowania zadań w systemach operacyjnych z rodziny Unixa. Może zostać wykorzystany do uruchamiania zadań (programów, komend, skryptów) o określonych godzinach, datach albo regularnie zgodnie z określonym interwałem.

Zasada działania

cron przegląda /var/spool/cron/crontabs w poszukiwaniu plików-tabel (crontab), o nazwach zgodnych z istniejącymi kontami systemowymi. Znalezione tabele ładuje do pamięci. Cron ładuje również plik konfiguracyjny /etc/crontab (który jest w nieco innym formacie niż pozostałe tabele).

W pliku /etc/crontab wpisane są dodatkowe reguły, które uruchamiają zadania cogodzinowe, codzienne, cotygodniowe i comiesięczne. Zadania te wpisywane są w postaci skryptów do katalogów: /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly.

Następnie cron budzi się co minutę, sprawdzając wszystkie załadowane tabele, czy przypadkiem jakaś komenda w tej minucie nie powinna być wywołana. Podczas wywoływania komend, ich wyjście (oraz standardowy strumień błędów) jest przesyłane pocztą elektroniczną do właściciela tabeli.

Dodatkowo, cron co minutę sprawdza, czy czas modyfikacji katalogu /var/spool/cron/crontabs (lub czas modyfikacji /etc/crontab) był zmieniony, a jeśli tak, to cron sprawdzi czasy modyfikacji tabel i przeładuje wszystkie te, które były ostatnio zmienione. Dzięki temu nie jest konieczne restartowanie demona po wprowadzeniu zmian w plikach.

W plikach-tabelach zadania do wykonania opisywane są przez sześć pól oddzielonych spacją lub tabulatorem. Pierwsze pięć pól służy określeniu czasu, natomiast ostatnie pole to polecenie do wykonania. Kolejne pola czasu określają: minuty, godziny, dni, miesiące, dni tygodnia. Zapis:

* * * * * polecenie

oznacza polecenie wykonywane co minutę. Zapis:

5 4,22 */2 * 1-5 polecenie

oznacza polecenie wykonywane w 5. minucie 4. i 22. godziny w każdy dzień parzysty jeśli ten dzień nie jest sobotą lub niedzielą.

Najpopularniejszymi odmianami demona cron są Vixie cron i fcron.

Inne języki
العربية: كرون (يونكس)
català: Cron (Unix)
čeština: Cron
dansk: Cron
Deutsch: Cron
English: Cron
español: Cron (Unix)
فارسی: کرون جاب
français: Cron
한국어: Cron
hrvatski: Cron
עברית: Cron
magyar: Cron
македонски: Cron
Nederlands: Cronjob
norsk: Cron
română: Cron
русский: Cron
suomi: Cron
svenska: Cron
ไทย: ครอน
українська: Cron
中文: Cron