CRM a dátové platformymarketingové nástroje

Pochopenie a používanie Cron: Komplexný sprievodca plánovaním úloh

Cron, krátko pre príkaz spustiť online, je výkonný plánovač úloh založený na čase v operačných systémoch podobných Unixu. Termín cron je hra so slovom kronos or chronos, ktorý v gréckej mytológii predstavuje čas. Názov cron pre časový plánovač úloh odráža jeho funkciu plánovania a vykonávania úloh v špecifických časoch alebo intervaloch, čo z neho robí vhodný odkaz na koncept času v mytológii.

Cron vám umožňuje automatizovať opakujúce sa úlohy, spúšťať skripty v špecifických intervaloch a udržiavať efektivitu systému. Tento komplexný sprievodca vás prevedie všetkým, čo potrebujete vedieť o crone, od inštalácie po používanie, kľúčovú slovnú zásobu a skutočné vzorky kódu.

Obsah

  1. čo je cron?
  2. Inštalácia Cron
  3. Základné pojmy a terminológia
  4. Syntax Cron
  5. Príklady a prípady použitia
  6. Bežné úskalia a osvedčené postupy
  7. Ďalšie zdroje cronu

Čo je Cron?

Cron je démon (proces na pozadí), ktorý beží na systémoch založených na Unixe, vrátane Linuxu a macOS. Jeho primárnym účelom je automatické vykonávanie naplánovaných úloh. Tieto úlohy môžu siahať od jednoduchých skriptov až po údržbu systému a zálohovanie.

Inštalácia Cron

Vo väčšine systémov podobných Unixu je cron predinštalovaný. Jeho dostupnosť môžete skontrolovať otvorením terminálu a zadaním:

crontab -e

Ak tento príkaz otvorí editor tabuľky cron, máte nainštalovaný cron. Ak nie, môžete ho nainštalovať pomocou správcu balíkov vášho systému. Napríklad na Ubuntu môžete použiť:

sudo apt-get install cron

Cron koncepty a terminológia

Skôr než sa pustíme do používania cronu, pochopme niektoré základné pojmy a terminológiu:

Cron Diagram Vysvetlenie
  • crontab: Skratka pre cron tabuľka, je to súbor, ktorý obsahuje zoznam naplánovaných úloh pre používateľa.
  • Cronjob: Jedna úloha alebo príkaz naplánovaný na spustenie v konkrétnom čase.
  • Pole: Každý cronjob má päť polí, ktoré definujú, kedy sa úloha spustí:
    • Minúta (0-59)
    • Hodina (0-23)
    • Deň v mesiaci (1-31)
    • Mesiac (1-12)
    • Deň v týždni (0-7, kde 0 aj 7 predstavujú nedeľu)

Syntax Cron

Pochopenie syntaxe položky crontab je kľúčové. Ide podľa vzoru:

* * * * * command-to-be-executed

Tu je komentované vysvetlenie, ktoré môžete vložiť do svojej úlohy cron:

# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Každá hviezdička (*) predstavuje pole vo výraze cron. Napríklad na naplánovanie úlohy každý deň o 3:30 by ste použili:

30 15 * * * command-to-be-executed

Cron príklady a prípady použitia

Pozrime sa na niekoľko praktických príkladov na ilustráciu použitia cronu:

  • Denné spustenie skriptu: Ak chcete spustiť skript každý deň o polnoci, môžete použiť:
0 0 * * * /path/to/script.sh
  • Spustenie skriptu každú hodinu: Pre hodinovú úlohu použite:
0 * * * * /path/to/script.sh
  • Týždenná záloha: Ak chcete naplánovať týždenné zálohovanie na nedeľu o 2:XNUMX, použite:
0 2 * * 0 /path/to/backup-script.sh
  • Spustenie úlohy v konkrétnych mesiacoch: Ak chcete spustiť úlohu iba v januári a júli o 8:30:
30 8 * 1,7 * /path/to/script.sh

Cron úskalia a osvedčené postupy

  • Premenné prostredia: Uistite sa, že vaše úlohy cronu nastavujú potrebné premenné prostredia, pretože úlohy cronu nededia premenné prostredia vášho shellu.
  • oprávnenia: Uistite sa, že ste nastavili povolenia pre súbor skriptu ako spustiteľný. Zakaždým, keď som znova uložil svoj skript, zistil som, že moje povolenia je potrebné znova nastaviť!
  • Premenné cesty: Zadajte úplnú cestu k spustiteľným súborom a skriptom v rámci úloh cron, aby ste sa vyhli problémom s relatívnymi cestami.
  • testovanie: Pred nastavením kritických úloh cron ich otestujte v bezpečnom prostredí, aby ste sa uistili, že fungujú podľa očakávania.
  • Prihlásenie: Presmerujte výstup vašich úloh cron do súboru denníka, aby ste mohli sledovať ich vykonávanie a akékoľvek potenciálne chyby.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1

Táto úloha cron spúšťa skript /path/to/script.sh každý deň o polnoci a výstup (stdout aj stderr) vygenerovaný skriptom sa pripojí k súboru denníka

/path/to/cron.log. Toto je bežná prax na zachytávanie a zaznamenávanie výstupu úloh cron na účely monitorovania a riešenia problémov. Poďme si rozobrať túto špecifickú syntax úlohy cron:

  • *0 0 * * *: Táto časť definuje plán, kedy sa má spustiť úloha cron. V tomto prípade je naplánované spustenie každý deň o polnoci (0 minút po 0 hodinách).
  • /cesta/k/script.sh: Toto je príkaz alebo skript, ktorý sa má vykonať pri spustení úlohy cron. Tento príklad ukazuje skript umiestnený na adrese /path/to/script.sh.
  • >> /cesta/k/cron.log: Táto časť presmeruje štandardný výstup (stdout) úlohy cron do súboru protokolu s názvom cron.log sa nachádza na /path/to/, >> operátor pripojí výstup k súboru protokolu, takže ak súbor neexistuje, vytvorí sa, a ak už existuje, výstup sa pridá na koniec súboru.
  • 2> & 1: Používa sa na presmerovanie štandardného výstupu (stdout) aj štandardnej chyby (stderr) do rovnakého súboru denníka. The 2 predstavuje stderr a 1 predstavuje stdout. takže, 2>&1 znamená, že stdout aj stderr sú presmerované do rovnakého súboru denníka špecifikovaného vyššie.

Cron je cenný nástroj na automatizáciu úloh na systémoch založených na Unixe. Vďaka flexibilným možnostiam plánovania môže zjednodušiť správu systému a zvýšiť efektivitu. Pochopením jeho syntaxe a dodržiavaním osvedčených postupov môžete využiť silu cronu na efektívnu automatizáciu rutinných úloh.

Ďalšie zdroje Cron

Douglas Karr

Douglas Karr je CMO OpenINSIGHTS a zakladateľ spoločnosti Martech Zone. Douglas pomohol desiatkam úspešných startupov MarTech, asistoval pri due diligence v hodnote viac ako 5 miliárd dolárov v akvizíciách a investíciách Martech a naďalej pomáha spoločnostiam pri implementácii a automatizácii ich predajných a marketingových stratégií. Douglas je medzinárodne uznávaný odborník na digitálnu transformáciu a MarTech a rečník. Douglas je tiež publikovaným autorom príručky Dummie a knihy obchodného vedenia.

súvisiace články

Tlačidlo späť nahor
Zavrieť

Zistený blok reklám

Martech Zone vám tento obsah môže poskytnúť bezplatne, pretože naše stránky speňažujeme prostredníctvom príjmov z reklám, pridružených odkazov a sponzorstiev. Ocenili by sme, keby ste pri prezeraní našej stránky odstránili blokovanie reklám.