Cron — UNIX uzdevumu plānotājs: definīcija un izmantošana

Uzziniet, kas ir Cron un kā to izmantot UNIX/Linux uzdevumu automatizēšanai — crontab, plānošana, piemēri un padomi ikdienas uzdevumu automatizācijai.

Autors: Leandro Alegsa

Cron ir datora programma, ko izmanto, lai automātiski izpildītu uzdevumus noteiktos laika intervālos. To izmanto UNIX datoru operētājsistēmās un UNIX līdzīgās operētāj­sistēmās, piemēram, Linux. Cron ir paredzēts atkārtojošu uzdevumu plānošanai — no sistēmas uzturēšanas un dublēšanas līdz regulārai datu lejupielādei vai e‑pasta apstrādei.

Cron bieži izmanto, lai automatizētu uzdevumus, kas saistīti ar datora vai datortīkla uzturēšanu vai administrēšanu, taču to var izmantot arī daudziem citiem mērķiem — piemēram, failu lejupielādei no interneta un e-pasta sūtījumu apstrādei noteiktā laikā vai datumā.

Datorprogrammas nosaukums cron cēlies no grieķu vārda χρόνος (chronos), kas nozīmē "laiks".

Kā darbojas crontab

Cron plānošana tiek iestatīta, rediģējot failu, ko sauc par crontab (cron tabula). Crontab ieraksts satur laika specifikāciju un izpildāmo komandu. Parasti crontab rediģē ar komandu crontab -e, bet ir arī sistēmas failu (piem., /etc/crontab vai /etc/cron.d/) un lietotāju crontab failus.

Crontab formāts

Parastā crontab rinda izskatās šādi (pieci lauka + komanda):

  • minūte (0–59)
  • stunda (0–23)
  • mēneša diena (1–31)
  • mēnesis (1–12 vai jan–dec)
  • nedēļas diena (0–7, kur 0 un 7 abi nozīmē svētdienu vai sun–sat)

Piemērs:

0 2 * * * /usr/bin/rsync -av /dati /backup/

Šī rinda palaidīs rsync katru dienu plkst. 02:00.

Papildu sintakse un īsie atslēgvārdi

  • */5 — katru 5. minūti (piem., */15 * * * * — katras 15 minūtes)
  • komati (piem., 0 6,18 * * * — plkst. 06:00 un 18:00)
  • diapazoni ar svītru (piem., 0 9-17 * * 1-5 — darba dienās ik stundu no 09:00 līdz 17:00)
  • speciālie atslēgvārdi: @reboot, @hourly, @daily, @weekly, @monthly, @yearly

Sistēmas vs lietotāja crontab

Ir atšķirība starp sistēmas crontab (piem., /etc/crontab) un lietotāja crontab. Sistēmas crontab bieži satur pievienoto lauku, kur jānorāda, kurš lietotājs komandu izpildīs. Lietotāja crontab tiek saistīta ar konkrētu lietotāju un izpildīs komandas ar šī lietotāja tiesībām.

Kā droši izmantot cron

  • Vienmēr norādiet pilnas ceļš uz izpildāmajām programmām (piem., /usr/bin/python3), jo crontab var darboties ar ierobežotu PATH.
  • Pāradresējiet komandu izvadi uz failu vai nulli, lai izvairītos no liekas e‑pasta sūtīšanas: /path/to/command >/var/log/command.log 2>&1.
  • Ja vēlaties saņemt paziņojumus pa e‑pastu par uzdevuma rezultātu, varat iestatīt MAILTO crontab augšā.
  • Izmantojiet atbilstošas piekļuves tiesības un pārbaudiet, kuri lietotāji drīkst izmantot cron, skatoties /etc/cron.allow un /etc/cron.deny.

Problēmu novēršana un žurnāli

Ja cron darbi netiek izpildīti, pārbaudiet:

  • crontab sintaksi — nepareiza lauka vērtība apturēs rindu izpildi;
  • vai cron serviss darbojas (piem., systemctl status cron vai service cron status);
  • žurnālus — parasti /var/log/cron vai sistēma‑žurnālos (piem., /var/log/syslog).

Papildus rīki un alternatīvas

Ja sistēma bieži tiek izslēgta vai atspējota, var lietot anacron, kas nodrošina, ka periodiskie uzdevumi tiek palaisti, kad mašīna tiks ieslēgta. Mūsdienu Linux sistēmās var izmantot arī systemd timers kā elastīgāku alternatīvu cron, it īpaši ja nepieciešama sarežģītāka atkarību un stāvokļu pārvaldība.

Īsi komandrindu piemēri

  • Rediģēt crontab: crontab -e
  • Sarakstīt pašreizējo crontab: crontab -l
  • Noņemt crontab: crontab -r
  • Piemēra rinda, kas palaidīs skriptu katru dienu pusnaktī: 0 0 * * * /home/user/scripts/daily_backup.sh >/home/user/logs/backup.log 2>&1

Izmantojot cron, svarīgi domāt par drošību, pilnām ceļu norādēm un atbilstošu izvades pārvaldību. Pareiza konfigurācija ļaus uzticami automatizēt ikdienas uzdevumus un samazināt manuālo administrēšanu.

Jautājumi un atbildes

J: Kas ir Krons?


A: Cron ir datorprogramma, ko izmanto, lai plānotu uzdevumus noteiktos laika intervālos.

J: Kur izmanto Cron?


A: Cron izmanto UNIX datoru operētājsistēmās un UNIX līdzīgās operētājsistēmās, piemēram, Linux.

J: Kādus uzdevumus var plānot ar Cron?


A: Ar Cron var plānot lielāko daļu atkārtojošos uzdevumu. To bieži izmanto, lai automatizētu uzdevumus, kas saistīti ar datora vai datortīkla uzturēšanu vai administrēšanu, lai gan to var izmantot arī daudziem citiem uzdevumiem, piemēram, failu lejupielādei no interneta un e-pasta sūtījumu lejupielādei noteiktā laikā vai datumā.

J: No kā cēlies nosaukums Cron?


A: Datorprogrammas Cron nosaukums cron ir cron, kas ir atvasināts no grieķu valodas vārda χρόνος (chronos), kas nozīmē laiku.

J: Kā tiek iestatīts Cron?


A: Cron tiek iestatīts, rediģējot failu, ko sauc par crontab (cron tabula). Šajā failā ir uzskaitīti konkrēti uzdevumi, kas jāveic datoram, un laiks, kad tie jāveic.

J: Kas ir crontab?


A: Crontab ir fails, kurā uzskaitīti konkrēti uzdevumi, kas datoram jāizpilda, un laiks, kad tie jāizpilda.

J: Kādiem atkārtotiem uzdevumiem var izmantot Cron?


A: Ar Cron var automatizēt lielāko daļu atkārtojošos uzdevumu, kas saistīti ar datora vai datortīkla uzturēšanu vai administrēšanu. To var izmantot arī daudziem citiem uzdevumiem, piemēram, failu lejupielādei no interneta un e-pasta sūtījumu lejupielādei noteiktā laikā vai datumā.


Meklēt
AlegsaOnline.com - 2020 / 2025 - License CC3