Maksutavat Abuse

Cron Linuxissa: mitä se on?

26.02.2023, 13:13

Cron on apuohjelma Linux-käyttöjärjestelmän tehtävien ajoittamiseen. Sen avulla voit suorittaa skriptejä tai komentoja automaattisesti tiettyinä aikoina, tietyin väliajoin tai tapahtumina.

Miten sitä käytetään?

Jotta voit käyttää Cronia, sinun on luotava crontab-tiedosto, joka sisältää luettelon tehtävistä ja aikaväleistä, jolloin ne on suoritettava. Jokainen tehtävä crontab-tiedostossa on merkkijono, joka koostuu viidestä välilyönneillä erotetusta kentästä:

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

* tarkoittaa mitä tahansa arvoa, esimerkiksi jos minutes-kentässä on *, tehtävä suoritetaan joka minuutti. Jos haluat asettaa kentälle tietyn arvon, esimerkiksi joka päivä kello 3 aamulla, kirjoita 0 3 * * * * * *.

Voit luoda tai muokata crontab-tiedostoa komennolla crontab -e. Jokaisella käyttäjällä voi olla oma crontab-tiedostonsa, samoin kuin järjestelmätiedosto /etc/crontab, joka sisältää root-käyttäjänä suoritettavia tehtäviä.

On olemassa cronjob-komento, jonka avulla voit suorittaa tehtäviä Docker-konttien sisällä. Se toimii samalla tavalla kuin crontab, mutta tehtävät voidaan suorittaa kontin sisällä isäntäjärjestelmän sijaan.

Cronin käyttö: algoritmi vaihe vaiheelta

Voit aloittaa Cronin käytön Linuxissa noudattamalla seuraavia ohjeita:

1. Avaa terminaali ja kirjoita komento crontab -e. Tämä avaa nykyisen käyttäjän crontab-tiedoston.

2. Lisää tehtävä crontab-tiedostoon edellä kuvatun kenttämuodon mukaisesti. Jos esimerkiksi haluat ajaa every_hour.sh-skriptin joka tunti, lisää rivi 0 * * * * * * * * * /path/to/every_hour.sh.

3. Tallenna muutokset ja sulje tiedosto.

4. Tarkista, että tehtävä on lisätty crontabiin komennolla crontab -l. Se näyttää luettelon kaikista crontabiin lisätyistä tehtävistä.

5. Tarkista, että tehtävä suoritetaan aikataulun mukaisesti komennolla tail -f /var/log/syslog. Näet tehtävän suorittamiseen liittyvät tulosteet.

6. Jos haluat poistaa tehtävän crontabista, käytä komentoa crontab -r.

On joitakin tärkeitä seikkoja, jotka on syytä pitää mielessä:

  • voit lisätä crontabiin sekä skriptejä että komentoja. Mutta jos haluat suorittaa skriptin, varmista, että sillä on execute-oikeudet(chmod +x /path/to/script.sh).
  • jos haluat, että tehtävä suoritetaan pääkäyttäjän oikeuksilla, avaa crontab-tiedosto pääkäyttäjän crontab-komennolla sudo crontab -e.
  • varmista, että ajettavat komennot ja skriptit ovat oikeassa paikassa ja että niillä on oikeat luku- ja suoritusoikeudet.

Huomaa, että crontab-tiedostossa määritetty kellonaika vastaa Cronia käyttävän palvelimen kellonaikaa. Jos käytät etäpalvelinta, varmista, että palvelimen aika on määritetty oikein.