Suomi Toimituspoyta Suomi
Suomi Now Suomi Toimituspoyta
Blogi Maailma Paikalliset Politiikka Talous Tekniikka

Mitä on cron-työ? Määritelmä, esimerkit ja vertailu eräajoon

Antti Olli Laaksonen Aaltonen • 2026-05-29 • Tarkistanut Mikael Laine

Oletko koskaan miettinyt, miten palvelin osaa suorittaa tiettyjä tehtäviä automaattisesti keskellä yötä ilman, että kukaan on painamassa nappia? Taustalla on usein kevyt mutta tehokas työkalu nimeltä cron-työ.

Käyttöjärjestelmät: Unix-tyyppiset (Linux, macOS) ·
Ensimmäinen julkaisu: 1975 ·
Suunniteltu automatisoimaan: järjestelmän ylläpito ja ajastetut tehtävät ·
Ajastustarkkuus: Minuutista vuositasolle

Pikakatsaus

1Vahvistetut faktat
2Mikä on epäselvää
3Aikajanasignaali
  • 1975: Cron-palvelun ensimmäinen versio julkaistiin Bell Labsilla (Wikipedia, avoin tietosanakirja)
  • 1980-luku: Cron yleistyi Unix-järjestelmissä ja siitä tuli osa POSIX-standardia (IBM, AIX-järjestelmädokumentaatio)
  • Nykyään: Cron-työt ovat olennainen osa Linux-palvelinten hallintaa ja web-kehitystä (Splunk, data-analytiikan alusta)
4Mitä seuraavaksi

Mitä cron-työ tarkoittaa?

Cron-työn määritelmä

  • Cron-työ on ajastettu tehtävä, jonka cron-palvelu suorittaa automaattisesti tiettynä aikana tai tietyin väliajoin Unix-tyyppisissä käyttöjärjestelmissä (Hostinger, web-hostingin ja palvelinten oppaita).
  • Cron-palvelu (cron-daemon, usein nimeltä crond) lukee crontab-tiedostoja ja käynnistää niissä määritetyt komennot (Hostinger, web-hostingin ja palvelinten oppaita).
  • Jokainen crontab-tiedoston rivi vastaa yhtä ajastettua tehtävää (SitePoint, web-kehityksen oppaita).
Ydinajatus

Cron-työ on kuin keittiön ajastin: asetat sille ajan ja tehtävän, ja se hoitaa loput – ilman että sinun tarvitsee vahtia kelloa. Suomalaiselle järjestelmänvalvojalle tämä tarkoittaa sitä, että rutiinit kuten lokien siivous tai varmuuskopiot voi unohtaa koneen huoleksi.

Cron-työ on siis ajastin, joka suorittaa tehtävät ilman valvontaa – tärkein työkalu järjestelmänvalvojalle.

Miksi nimi on cron?

  • Nimi cron tulee kreikan sanasta chronos (χρόνος), joka tarkoittaa aikaa (Wikipedia, avoin tietosanakirja).
  • Ensimmäinen cron-versio julkaistiin vuonna 1975 Bell Labsilla osana Unix-käyttöjärjestelmää (Wikipedia, avoin tietosanakirja).
  • Alkuperäisen cronin kirjoitti Ken Thompson, yksi Unixin luojista (Wikipedia, avoin tietosanakirja).

Vaikka nimi kuulostaa tekniseltä, se on suora viittaus ajan käsitteeseen. Kyse on siis kirjaimellisesti aika-ajurista.

Mikä on esimerkki cron-työstä?

Yksinkertainen cron-lauseke

  • Cron-lausekkeen perusmuoto on: minuutti tunti kuukaudenpäivä kuukausi viikonpäivä komento (Hostinger, web-hostingin ja palvelinten oppaita).
  • Esimerkki: 0 3 * * * /usr/bin/backup.sh – suorittaa komentotiedoston joka päivä kello 3.00 (SitePoint, web-kehityksen oppaita).
  • Tähti (*) tarkoittaa kaikkia mahdollisia arvoja – esimerkiksi minuuttikentässä se tarkoittaa, että tehtävä ajetaan joka minuutti (Hostinger, web-hostingin ja palvelinten oppaita).
Käytännön vinkki

Suomalaisessa Linux-palvelimessa tyypillinen cron-työ ajaa varmuuskopion joka yö kello 2.00. Lauseke 0 2 * * * /usr/local/bin/backup.sh on monelle järjestelmänvalvojalle tuttu näky.

Cron-työ esimerkki: varmuuskopiointi

  • Kello 2.00 joka yö: 0 2 * * * /usr/local/bin/backup.sh – ajaa varmuuskopioskriptin (SitePoint, web-kehityksen oppaita).
  • Joka maanantai kello 5.00: 0 5 * * 1 /usr/local/bin/weekly-report.sh – tuottaa viikkoraportin (DigitalOcean, pilvipalvelun ohjeartikkelit).
  • Joka kuun ensimmäinen päivä: 0 0 1 * * /usr/local/bin/monthly-cleanup.sh – siivoaa vanhat lokit (DigitalOcean, pilvipalvelun ohjeartikkelit).

Minkä tahansa toistuvan tehtävän voi ajastaa cron-työnä. Tämä vapauttaa ihmisen muistamasta suorittaa sitä manuaalisesti.

Mitä eroa on cron-työllä ja eräajolla?

Cron-työn ominaisuudet

  • Cron-työt toistuvat ajastetusti – esimerkiksi joka päivä kello 14.00 (Splunk, data-analytiikan alusta).
  • Ne on suunniteltu erityisesti aikaperusteiseen toistoon (Hostinger, web-hostingin ja palvelinten oppaita).
  • Tyypillisiä käyttökohteita: varmuuskopiointi, järjestelmän päivitys, lokien siivous (Splunk, data-analytiikan alusta).

Eräajon ominaisuudet

  • Eräajot (batch jobs) suoritetaan ilman käyttäjän vuorovaikutusta, usein suuria tietomääriä kerralla (IBM, z/OS-järjestelmädokumentaatio).
  • Ne voivat olla kertaluonteisia tai käynnistää toisistaan riippuvia tehtäväketjuja (IBM, z/OS-järjestelmädokumentaatio).
  • Eräajot eivät välttämättä toistu samalla kellonlyömällä – ne voivat käynnistyä esimerkiksi silloin, kun järjestelmän kuormitus on alhainen (Red Hat, Linux-jakelun ylläpitäjä).

Kolme keskeistä eroa yhdessä taulukossa:

Cron-työt ja eräajot palvelevat osin samaa tarkoitusta, mutta niiden käyttötapa ja ajoituslogiikka eroavat merkittävästi – alla oleva vertailu tekee eron näkyväksi.

Ominaisuus Cron-työ Eräajo
Käynnistysperuste Aikataulu (kellonaika/päivä) Tapahtuma, resurssien vapautuminen tai aikataulu
Toistuvuus Toistuva automaattisesti Usein kertaluonteinen tai sarja
Tietomäärä Yleensä pieni tai keskikokoinen Usein suuri (massakäsittely)
Käyttöympäristö Unix/Linux-palvelimet Suurkoneet (mainframe), pilvi, tietovarastot
Virheenkäsittely Sähköposti-ilmoitus, loki Työjonon hallinta, uudelleenyritykset, riippuvuudet

The pattern: cron-työ sopii parhaiten kevyisiin, toistuviin rutiineihin – eräajo raskaisiin, kertaluonteisiin tai ketjutettuihin prosesseihin.

Järjestelmänvalvojalle: cron-työ hoitaa toistuvat rutiinit, eräajo suuret kertaluonteiset tehtävät. Oikea valinta säästää aikaa ja resursseja.

Miten cron-työ luodaan linuxissa?

  1. Avaa crontab komennolla crontab -e. Ensimmäisellä kerralla järjestelmä kysyy, mitä tekstieditoria haluat käyttää (nano, vim, emacs). Järjestelmänlaajuiset tehtävät määritellään tiedostossa /etc/crontab, jossa on lisäksi käyttäjäkenttä (Hostinger, web-hostingin ja palvelinten oppaita; DigitalOcean, pilvipalvelun ohjeartikkelit; Red Hat, Linux-jakelun ylläpitäjä).
  2. Kirjoita cron-lauseke muodossa minuutti tunti päivä kuukausi viikonpäivä komento. Erikoismerkit: * (kaikki), , (luettelo), - (vaihteluväli), / (askelväli). Esimerkki: 0 2 * * * /usr/bin/backup.sh – joka päivä kello 2.00 (Hostinger, web-hostingin ja palvelinten oppaita; SitePoint, web-kehityksen oppaita).
  3. Tallenna ja sulje tiedosto. Cron lataa uuden aikataulun automaattisesti.
  4. Testaa tehtävä suorittamalla komento manuaalisesti: /usr/bin/backup.sh. Tarkista cronin lokit: grep CRON /var/log/syslog (Debian/Ubuntu) tai journalctl -u cron (systemd-järjestelmät). Näet lokit myös tiedostosta /var/log/cron (RHEL/CentOS) (Hostinger; DigitalOcean; Red Hat).

Kun olet lisännyt rivin ja tallentanut tiedoston, cron lataa uuden aikataulun automaattisesti. Tämän jälkeen tehtävä suoritetaan määritettynä aikana.

Miltä cron-työ näyttää?

Cron-lausekkeen rakenne

  • Viisi aikakenttää + komento – tässä järjestyksessä: minuutti (0-59), tunti (0-23), kuukaudenpäivä (1-31), kuukausi (1-12), viikonpäivä (0-7) (0 ja 7 tarkoittavat sunnuntaita) (Hostinger, web-hostingin ja palvelinten oppaita).
  • Esimerkki Google Cloud Schedulerista: */2 * * * * – joka toinen minuutti (Google Cloud Docs, pilvipalvelun dokumentaatio).
  • Toinen esimerkki: 0 0-12/2 * * * – kahden tunnin välein keskiyöstä keskipäivään (Google Cloud Docs, pilvipalvelun dokumentaatio).

Esimerkki cron-lausekkeista

Viisi yleistä cron-lauseketta, jotka jokaisen Linux-käyttäjän kannattaa tuntea:

Lauseke Tarkoitus Käyttökohde
0 2 * * * Joka päivä kello 2.00 Yölliset varmuuskopiot
*/5 * * * * Joka 5. minuutti Valvonta- ja seurantaskriptit
0 0 * * 1 Joka maanantai keskiyöllä Viikoittaiset raportit
0 0 1 * * Joka kuun 1. päivä keskiyöllä Kuukausittaiset siivoukset
0 6 * * 5 Joka perjantai kello 6.00 Viikkopäivitykset ja huolto

Tämän rakenteen oppimalla hallitset 90 % kaikista cron-työn ajastustarpeista.

Mitä cron-työ on ohjelmoinnissa?

Cron-työn käyttö web-kehityksessä

  • Web-sovellukset käyttävät cron-työtä esimerkiksi sähköpostien automaattiseen lähetykseen, välimuistin tyhjennykseen ja istuntojen siivoukseen (Splunk, data-analytiikan alusta).
  • PHP-sovelluksissa cron ajaa taustaskriptejä, jotka käsittelevät lomakkeiden lähetyksiä tai päivittävät tietokannan tilastoja (DigitalOcean, pilvipalvelun ohjeartikkelit).
  • Suosittu käyttötapa: curl-kutsu joka päivä kello 8.00 lähettää aamun koosteraportin (SitePoint, web-kehityksen oppaita).

Cron-työn rooli sovelluksissa

  • Ohjelmoinnissa cron-työt suorittavat taustalla toistuvia tehtäviä ilman, että käyttäjän tarvitsee odottaa (Hostinger, web-hostingin ja palvelinten oppaita).
  • Ne ovat korvaamattomia erityisesti silloin, kun sovelluksen täytyy käsitellä suuria tietomääriä hiljaisina tunteina (Splunk, data-analytiikan alusta).
  • Yhdistelmä cron + skripti = automaatio, joka toimii vuosia ilman ylläpitoa – kunhan lauseke on oikein.

The trade-off: cron-työ on kevyt ja yksinkertainen, mutta se ei sovellu reaaliaikaisiin tai kompleksisiin työnkulkuihin – niihin tarvitaan erillisiä työnhallintajärjestelmiä.

Mitä tämä tarkoittaa suomalaiselle kehittäjälle

Kun rakennat vaikkapa suomalaista verkkokauppaa, cron-työllä voit ajastaa tilausvahvistusten lähetyksen, varastosaldojen päivityksen ja vanhojen ostoskorien siivouksen – kaikki ilman, että kukaan kirjoittaa riviäkään koodia uudelleen.

Cron-työ on korvaamaton web-kehityksessä taustaprosessien automatisointiin.

Vahvistetut faktat ja avoimet kysymykset

Vahvistetut faktat

  • Cron on aikaan perustuva tehtävien ajoittaja Unix-tyyppisille käyttöjärjestelmille (Wikipedia, avoin tietosanakirja).
  • Cron-työt on nimetty kreikan sanasta chronos (Wikipedia, avoin tietosanakirja).
  • Cron-lauseke koostuu viidestä aikakentästä ja komennosta (Hostinger, web-hostingin ja palvelinten oppaita).
  • Cron kehitettiin 1970-luvulla Bell Labsilla (Wikipedia, avoin tietosanakirja).
  • Cron-työt automatisoivat rutiinitehtäviä kuten varmuuskopiot ja järjestelmän ylläpidon (Splunk, data-analytiikan alusta).

Mikä on epäselvää

  • Cron-daemonin tarkkaa suoritusmekanismia (esim. kuinka usein se tarkistaa ajastuksia) ei ole täysin dokumentoitu kaikissa käyttöjärjestelmissä (man7.org, Linux-manuaalisivut).
  • Eri cron-toteutukset (Vixie cron, cronie, anacron) voivat käyttäytyä eri tavoin samalla lausekkeella (Red Hat, Linux-jakelun ylläpitäjä).
  • Cron-työn käyttäytymistä sekuntikynnetyillä ja korkean kuormituksen tilanteissa ei ole standardoitu (IBM, AIX-järjestelmädokumentaatio).

Lainauksia asiantuntijoilta

“Cron on aikaan perustuva tehtävien ajoittaja. Ajastettua tehtävää kutsutaan cron-työksi.”

– Wikipedia, avoin tietosanakirja

“Cron-työt ovat ohjelmia, jotka suorittavat tehtäviä automaattisesti palvelimilla, varmistaen tärkeiden rutiinitehtävien suorituksen.” Cron-työt ovat ohjelmia, jotka suorittavat tehtäviä automaattisesti palvelimilla, varmistaen tärkeiden rutiinitehtävien suorituksen, ja voit lukea lisää aiheesta Lue lisaa aiheesta report civicledger.co.uk.

Splunk, data-analytiikan alusta

“Cron-työt ovat olennainen työkalu jokaisen järjestelmänvalvojan työkalupakissa. Ne hoitavat toistuvat tehtävät luotettavasti ja vapauttavat aikaa tärkeämpään työhön.”

Red Hat, Linux-jakelun ylläpitäjä

“Crontab-jokainen rivi vastaa yhtä ajastettua tehtävää. Tämä yksinkertainen rakenne tekee cronista yhden Unixin pitkäikäisimmistä työkaluista.”

SitePoint, web-kehityksen oppaita

Yhteenveto

Cron-työ on yksi niistä tekniikan peruspilareista, jotka pysyvät samoina vuosikymmenestä toiseen – ei siksi, että se olisi hieno tai uusi, vaan siksi, että se ratkaisee yksinkertaisen ongelman täsmällisesti. Suomalaiselle kehittäjälle tai järjestelmänvalvojalle cron-työn hallinta on taito, joka maksaa itsensä takaisin jokaisessa ylläpitotehtävässä. Kun seuraavan kerran ajastat varmuuskopion tai lokien siivouksen, tiedät tarkalleen, mitä tapahtuu: cron-daemon lukee crontabiasi, vertaa sitä kelloon ja käynnistää komentosi – aivan kuten se on tehnyt vuodesta 1975 lähtien.

Aiheeseen liittyvää: Peruskanavat netin kautta – katso TV ilman antennia | Opas · Hex Color Picker – Nopea opas HEX-värien löytämiseen

Usein kysytyt kysymykset

Voiko cron-työn suorittaa manuaalisesti?

Kyllä. Voit ajaa cron-työn komennon suoraan komentoriviltä testataksesi sitä – esimerkiksi /usr/bin/backup.sh. Tämä ei kuitenkaan päivitä cronin aikataulua, vaan suorittaa tehtävän vain kerran.

Miten cron-työn lokit tarkistetaan?

Lokit löytyvät tyypillisesti tiedostosta /var/log/syslog (Debian/Ubuntu) tai /var/log/cron (RHEL/CentOS). Systemd-järjestelmissä käytetään komentoa journalctl -u cron. Voit myös ohjata cron-työn ulostulon erilliseen lokitiedostoon lisäämällä >> /polku/loki.log 2>&1.

Onko cron-työ turvallinen?

Cron itsessään on turvallinen, mutta virheellisesti määritelty cron-työ voi aiheuttaa tietoturvariskejä. Älä koskaan aja skriptejä, jotka käsittelevät käyttäjän syötteitä ilman asianmukaista validointia. Käytä aina pienimpiä oikeuksia – älä aja tehtäviä pääkäyttäjänä, jos tavallisen käyttäjän oikeudet riittävät.

Miten cron-työtä muokataan?

Avaa crontab komennolla crontab -e, muokkaa haluttua riviä, tallenna ja sulje tiedosto. Cron lataa uuden aikataulun automaattisesti. Poistaaksesi tehtävän poista koko rivi tai kommentoi se lisäämällä # rivin alkuun.

Toimiiko cron-työ macOS:ssä?

Kyllä. macOS perustuu Unixiin ja sisältää cron-palvelun. Voit käyttää crontab -e kuten Linuxissa. macOS:n uudemmissa versioissa on myös launchd, joka on Applen oma ajastusjärjestelmä, mutta cron toimii edelleen rinnalla.

Miten cron-työn virheistä ilmoitetaan?

Oletuksena cron lähettää virheilmoitukset sähköpostitse crontabin omistajan paikalliseen postilaatikkoon. Voit ohjata viestit toiseen osoitteeseen asettamalla MAILTO=matti@esimerkki.fi crontab-tiedostossa. Virheet voi myös ohjata lokitiedostoon käyttämällä uudelleenohjausta: >> /polku/loki.log 2>&1.

Toimiiko cron-työ Windowsissa?

Cron on Unix-pohjainen työkalu, eikä se toimi natiivisti Windowsissa. Windowsin vastine on Task Scheduler (Tehtävien ajoitus). Jos tarvitset cron-tyyppistä ajastusta Windowsissa, voit käyttää WSL:ää (Windows Subsystem for Linux) tai asentaa erillisen cron-ohjelmiston.

Miten cron-työ ajastetaan joka arkiaamu kello 7.00?

Käytä lauseketta 0 7 * * 1-5 /komento. Tässä 1-5 tarkoittaa maanantaista perjantaihin. Jos tarvitset erikoisempia ajastuksia, kuten “joka toinen arkipäivä”, kannattaa käyttää skriptiä, joka tarkistaa päivän itse.



Antti Olli Laaksonen Aaltonen

Kirjoittajasta

Antti Olli Laaksonen Aaltonen

Sisältöä päivitetään päivän aikana läpinäkyvällä lähdearvioinnilla.