Zálohovať každú noc, posielať report každý pondelok ráno, čistiť dočasné súbory každú hodinu. Takéto opakované úlohy nemusí robiť človek, postará sa o ne cron. Poďme si vysvetliť, čo cron je, ako sa používa a ukážeme si konkrétny príklad.

Čo je cron

Cron je plánovač úloh v Linuxe a podobných systémoch, ktorý spúšťa príkazy automaticky v určenom čase. Beží na pozadí a v pravidelných intervaloch kontroluje, či má niečo spustiť. Jednotlivej naplánovanej úlohe sa hovorí cron job.

Vďaka cronu sa opakované veci dejú samé, presne a spoľahlivo, bez toho, aby na ne niekto musel myslieť.

Na čo sa cron používa

  • Zálohovanie databáz a súborov v noci, súvisí to s článkom ako správne zálohovať.
  • Pravidelné reporty a e-maily.
  • Upratovanie dočasných súborov a logov.
  • Synchronizácia dát medzi systémami.
  • Údržbové skripty a kontroly.

Je to základ automatizácie na serveroch a pri self-hostingu.

Ako sa cron zapisuje

Úlohy sa píšu do takzvaného crontabu. Každý riadok má päť časových polí a potom príkaz, ktorý sa má spustiť:

PoleVýznamRozsah
1minúta0 až 59
2hodina0 až 23
3deň v mesiaci1 až 31
4mesiac1 až 12
5deň v týždni0 až 6 (0 = nedeľa)

Hviezdička * znamená „každý" (každú minútu, každú hodinu a podobne).

Praktický príklad

Povedzme, že chceme každý deň o 2:30 v noci spustiť zálohovací skript:

30 2 * * * /home/zaloha/backup.sh

Čítame to takto: v minúte 30, o 2. hodine, každý deň, každý mesiac, každý deň v týždni spusti /home/zaloha/backup.sh.

Ďalšie príklady:

  • 0 * * * * znamená každú celú hodinu.
  • */15 * * * * znamená každých 15 minút.
  • 0 8 * * 1 znamená každý pondelok o 8:00.
  • 0 0 1 * * znamená prvého v mesiaci o polnoci.

Zoznam úloh upravíte príkazom crontab -e, čo súvisí s prácou v termináli a so základnými linuxovými príkazmi.

Na čo si dať pozor

  • Správny čas a časová zóna servera, aby sa úloha spustila vtedy, keď čakáte.
  • Úplné cesty k súborom, cron nemá rovnaké prostredie ako keď ste prihlásený.
  • Logovanie výsledku, aby ste vedeli, či úloha prebehla a uspela.
  • Kontrola, že úloha naozaj beží. Tichý cron, ktorý zlyháva, je nebezpečný, lebo si to nemusíte všimnúť.

Alternatíva vo Windows

Vo Windows má rovnakú úlohu Plánovač úloh (Task Scheduler). Funguje na podobnom princípe, len cez grafické rozhranie: vyberiete, čo a kedy sa má spustiť.

Záver

Cron je tichý pomocník, ktorý za vás spoľahlivo robí opakované úlohy v určenom čase. Stačí pochopiť päť časových polí a viete naplánovať zálohy, reporty aj údržbu. Dôležité je úlohy správne nastaviť a kontrolovať, že naozaj bežia.

Potrebujete zautomatizovať zálohy, údržbu alebo úlohy na serveri? Ozvite sa nám, nastavíme to spoľahlivo a s kontrolou.

Tento článok je súčasťou prehľadu Softvér a systém.