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.