Cron plānotājs Linux — crontab sintakse un piemēri

26 Mar 2026 Autors: Laura Zariņa

Cron izteiksmju kalkulators

Ievadiet rindu no 5 laukiem: minūte stunda mēneša_diena mēnesis nedēļas_diena. Apraksts un tuvākās izpildes tiks aprēķinātas automātiski.
Tuvākās izpildes (pārlūka vietējais laiks):

    Cron ir standarta uzdevumu plānotājs Linux: tas palaiž komandas pēc grafika (katru minūti, stundu, dienu utt.). Grafiku nosaka pieci lauki crontab failā. Apskatīsim sintaksi un dosim gatavus piemērus.

    Crontab sintakse

    Katra uzdevuma rinda sastāv no pieciem laika laukiem un komandas:

    * * * * * komanda
    │ │ │ │ │
    │ │ │ │ └─ nedēļas diena (0–7, kur 0 un 7 ir svētdiena)
    │ │ │ └─── mēnesis (1–12)
    │ │ └───── mēneša diena (1–31)
    │ └─────── stunda (0–23)
    └───────── minūte (0–59)
    

    Speciālie simboli:

    • * — jebkura vērtība;
    • */5 — ik pēc 5 vienībām (piemēram, ik pēc 5 minūtēm);
    • 1,15 — vērtību saraksts;
    • 9-18 — diapazons.

    Kā rediģēt crontab

    Atvērt savu uzdevumu sarakstu rediģēšanai:

    crontab -e
    

    Apskatīt pašreizējos uzdevumus:

    crontab -l
    

    Izmaiņas stājas spēkā automātiski pēc saglabāšanas — neko pārstartēt nav vajadzīgs.

    Grafiku piemēri

    Grafiks Rinda Kad izpildās
    Katru minūti * * * * * ik minūti
    Ik pēc 5 minūtēm */5 * * * * 0, 5, 10…
    Katru stundu 0 * * * * stundas sākumā
    Katru dienu plkst. 3:30 30 3 * * * reizi diennaktī
    Darbdienās plkst. 9:00 0 9 * * 1-5 pirmdiena–piektdiena
    Mēneša 1. datumā 0 0 1 * * reizi mēnesī

    Gatavi uzdevumu piemēri:

    # Datubāzes dublējums katru dienu plkst. 2:30 naktī
    30 2 * * * /usr/local/bin/backup.sh
    
    # Pagaidu failu tīrīšana katru svētdienu plkst. 4:00
    0 4 * * 0 find /tmp -type f -mtime +7 -delete
    
    # Vietnes pārbaude ik pēc 10 minūtēm
    */10 * * * * curl -s https://example.com > /dev/null
    

    Īpašās rindas

    Piecu lauku vietā var izmantot ērtus aizstājvārdus:

    @reboot   /path/script.sh   # servera ielādes brīdī
    @daily    /path/script.sh   # reizi diennaktī pusnaktī
    @hourly   /path/script.sh   # reizi stundā
    @weekly   /path/script.sh   # reizi nedēļā
    

    Žurnalēšana un atkļūdošana

    Cron neizvada rezultātu ekrānā. Lai redzētu, kas notiek, novirziet izvadi uz failu:

    0 2 * * * /path/backup.sh >> /var/log/backup.log 2>&1
    

    2>&1 novirza gan kļūdas, gan parasto izvadi vienā žurnālā.

    Pārbaudīt, vai cron vispār izpilda uzdevumus, var sistēmas žurnālā:

    grep CRON /var/log/syslog
    

    Biežākie iemesli, kāpēc uzdevums nestrādā

    • Relatīvie ceļi. Cron darbojas apgrieztā vidē. Norādiet pilnus ceļus līdz komandām un failiem (/usr/bin/php, nevis php).
    • Vides mainīgie. PATH cron vidē ir minimāls. Uzstādiet vajadzīgos mainīgos crontab sākumā vai skriptā.
    • Nav izpildes tiesību. Padariet skriptu izpildāmu: chmod +x /path/script.sh.
    • Aizmirsts rindas pārnesums. Pēdējai crontab rindai jābeidzas ar rindas pārnesumu.

    Biežāk uzdotie jautājumi

    Ar ko lietotāja crontab atšķiras no sistēmas crontab? crontab -e rediģē pašreizējā lietotāja uzdevumus. Sistēmas uzdevumi atrodas failos /etc/crontab un /etc/cron.d/, kur papildus norāda lietotāju, kura vārdā izpildīt komandu.

    Kāpēc uzdevums strādā manuāli, bet ne pa cron? Visbiežāk vides dēļ: cron nezina jūsu PATH un mainīgos. Izmantojiet absolūtos ceļus un norādiet mainīgos skriptā tieši.

    Kā palaist uzdevumu root vārdā? Rediģējiet root crontab ar komandu sudo crontab -e vai pievienojiet uzdevumu mapē /etc/cron.d/, norādot lietotāju root.

    Vai cron ir alternatīva? Jā, systemd timers ir elastīgāka un labāk žurnalējama alternatīva. Taču cron ir vienkāršāks un ir praktiski jebkurā serverī, tāpēc paliek par standartu.

    Kopsavilkums

    Cron nosedz gandrīz jebkuru automatizāciju pēc grafika: dublējumus, tīrīšanu, pārbaudes. Apgūstiet piecu lauku sintaksi, vienmēr izmantojiet absolūtos ceļus un žurnalējiet izvadi — un uzdevumi izpildīsies stabili.

    Vajadzīgs serveris saviem uzdevumiem un skriptiem? Paņemiet Linux VPS, noformējiet VPS nomu vai pasūtiet Serveru administrēšanu.

    Laura Zariņa