Cron Guide and Tutorials: Automate Tasks

Zveřejnění: Vaše podpora pomáhá udržovat provoz webu! Za některé služby, které na této stránce doporučujeme, dostáváme poplatek za doporučení.


Cron úlohy a crontabs: zní futuristicky. Ale starým hackerům přinášejí zpět vzpomínky na jednodušší dobu Bourne shellu a vi a AWK: Unixové nástroje, které se už nepoužívají.

Ale i když by mohlo být pravda, že málo lidí stále používá vi, cron se dnes používá více, než tomu bylo v minulosti. Ve skutečnosti je to základ mnoha skvělých věcí, které na svém webu děláte, aniž byste to věděli.

Co je Cron?

Podle původního spisovatele crona Ken Thompsona název pochází z řeckého slova chronos, což znamená „čas“. Cron je tedy základní plánovací program pro operační systém Unix. Umožňuje uživatelům naplánovat běh procesů. Mohou to být jednorázové věci, jako je naplánované vypnutí systému. Nebo to mohou být pravidelné věci jako noční záloha. Cron je démon – proces na pozadí, který neustále běží. Sleduje, co je třeba udělat a kdy.

Ale skvělá věc na tom je, že se nemusíte starat o to, jak to funguje; stačí se starat o to, jak ji používat.

Cron Job

Cron úloha je individuální příkaz. Řekne cronu, jaký příkaz spustit a kdy. K tomu se za chvíli dostaneme k podrobnostem.

Crontab

Crontab je tabulka cronových úloh – „cron tab (le)“. Crontab je pouze textový soubor. Každý řádek v něm představuje úlohu cron. Obecně má každý počítačový systém globální crontab, který je spravován správcem systému. Ale každý uživatel má svůj vlastní crontab.

Takto většina ovládacích panelů webového serveru umožňuje uživatelům nastavovat časované události. Ale to je také to, jak CMS, jako je WordPress, jsou schopny pracovat s některými ze svých kouzel.

Crontab Format

Crontab je plný komentářových řádků a cronových pracovních řádků. Stejně jako u většiny příkazových souborů Unix, řádky začínající symbolem hashtag (číslo, libra) „#“. (Symbol se také používá k úpravě denních časových funkcí, ale to není standardní.)

Řádky úloh Cron se skládají ze šesti částí: pět parametrů časování a jeden příkazový parametr. Každá pracovní linie cron je tedy organizována takto:

Příkaz Min Hour DoM Mon DoW

Jsou definovány takto:

  • Min .: minuta hodiny (0-59).
  • Hodina: hodina dne (0-23).
  • DoM: den v měsíci (1-31).
  • Po: měsíc roku (1-12 nebo Jan-Dec).
  • DoW: den v týdnu (0-6 nebo Sun-Sat).
  • Příkaz: cokoli, co normálně můžete spustit na příkazovém řádku.

Parametry časování

Všechny parametry úlohy cron umožňují tři speciální znaky.

Speciální znaky

  • Hvězdičky: obecně se v parametrech načasování zobrazí spousta hvězdiček. Hvězdička označuje všechny možné hodnoty. Pokud je pro parametr Min použit hvězdička, bude úloha cron spuštěna každou minutu (což je konzistentní s ostatními parametry časování).
  • Čárky: parametry časování mohou být složeny z více než jednoho čísla. Čárka se používá k oddělení diskrétních hodnot. Například parametr Min 3,27,51 by spustil úlohu cron v minutách 3, 27 a 51.
  • Spojovníky: spojovník se používá k označení rozsahu hodnot. Například parametr Min 3-5–1 způsobí, že úloha cron bude spuštěna v minutách 3 až 51. Všimněte si, že čárky a spojovníky lze použít společně. Min. 3-15,39-51 by tedy spustil příkaz v minutách 3 až 15 a 39 až 51.

Příkazový parametr

Parametr příkazu může být jakýkoli příkaz, který můžete zadat na příkazovém řádku. Pamatujte však, že s tím nemůžete interagovat. Pokud to vyžaduje vstup uživatele, musí být uveden v crontabu. To se provádí pomocí znaku procenta (%). Všechna data po prvním „%“ jsou odeslána do příkazu jako standardní vstup. Následující znaky „%“ jsou interpretovány jako znaky nového řádku.

Příklady

Zde je několik jednoduchých příkladů:

# Spustit příkaz každou minutu každý den
* * * * * / bin / ls -R / > /etc/FileList.txt
# Spustit příkaz každou půlnoci každého dne
0 0 * * * / bin / ls -R / > /etc/FileList.txt
# Spustit příkaz v 20:03 každé úterý
3 20 * * 2 / bin / ls -R / > /etc/FileList.txt
# Spustit příkaz v 1:00 hodin v 7. den každého měsíce
0 1 7 * * / bin / ls -R / > /etc/FileList.txt
# Spustit příkaz v 18:45 každý pátek v srpnu
45 18 * 8 5 / bin / ls -R / > /etc/FileList.txt

A zde je několik složitějších příkladů:

# Spustit příkaz každou minutu první půl hodiny každou hodinu každého dne
0-29 * * * * / bin / ls -R / > /etc/FileList.txt
# Spustit příkaz každou půlnoci prvního dne v roce
0 0 1 1 * / bin / kat > /etc/motd.txt% Šťastný nový rok, všichni!% Doufám, že je váš skvělý!
# Spustit příkaz v 20:03 druhý den v roce
3 20 2 1 * / bin / kat > /etc/motd.txt%Tento rok se určitě táhne!
# Spustit příkaz v 1:00 a 13:00 v 7. den každého měsíce
0 1,13 7 * * / bin / ls -R / > /etc/FileList.txt
# Spustit příkaz v 18:45 každý pátek v lednu až dubnu a srpnu
45 18 * 1-4,8 5 / bin / ls -R / > /etc/FileList.txt

Variace

Existují variace a rozšíření základních úloh crontab a cron, o kterých jsme diskutovali.

Zejména některé systémy umožňují parametr druhého a jednoho roku. Pro parametry DoM a DoW je někdy také k dispozici jeden další znak: L. Používá se však pro každý parametr jinak. Pro DoM znamená osamělý „L“ poslední den v měsíci. U DoW se k číslu dne přidá „L“, což znamená poslední den v měsíci. Například „1L“ označuje poslední pondělí v měsíci. Některé systémy konečně poskytují makra jako @daily.

Program Crontab

Lidé, kteří Unix začínají, jsou crontab často matoucí, protože existuje crontabový soubor a crontab program. Je nejlepší myslet na crontab jako na soubor. Program crontab je jen jednoduchá věc, která uživatelům umožňuje zobrazit a upravit soubor crontab. Pokud nejste správce systému, budete obvykle používat webové rozhraní. Nejdůležitější věcí, kterou si pamatovat, je, že crontab program není cron program, o kterém diskutujeme níže.

Pokud máte k počítači přístup z příkazového řádku, můžete program crontab použít přímo. Existují dva způsoby, jak jej použít.

Import Crontab

Soubor ve formátu crontab lze importovat do uživatelského nebo globálního souboru crontab pomocí následující syntaxe:

crontab [-u user] soubor

Pokud není uživatel uveden, předpokládá se výchozí uživatel. Pokud soubor není uveden, program načte ze standardního vstupu.

Crontab Edit

Další příkaz je velmi podobný, ale umožňuje zobrazit, upravit nebo odstranit aktuální soubor crontab:

crontab [-u uživatel]

V takovém případě musí uživatel vybrat jeden z přepínačů, -l, -r nebo -e. Přepínač -l způsobí, že program zobrazí aktuální soubor crontab. Přepínač -r odstraní aktuální soubor crontab. Buďte opatrní s tímhle! Přepínač -e vám umožní upravit soubor crontab.

Pomocí Cron

Většina lidí nikdy sám crontab neupravuje. Obvykle pro to lidé používají rozhraní. Například v cPanel mohou být do systému přidány cron úlohy ve tvaru, který vypadá takto:

Cron Job Form

Ostatní systémy ústředny nabízejí stejné funkce.

Učení Cron

Pokud spravujete servery nebo píšete pluginy CMS, možná budete chtít udělat hluboký ponor do cronu. Ale do jisté míry to bude záviset na tom, jak se dostanete do příruček a specifikací. Nejtěžší věcí na cronu je to, že různé systémy vytvořily vlastní rozšíření a idiosynkrasie. Ale pro drtivou většinu své práce budete potřebovat pouze základní kód.

Cron Návody

Tyto návody vám pomohou se soubory cron a crontab. Někteří z nich jdou do velké hloubky.

  • Plánování úkolů s Cron Jobs: důkladný úvod do celého cron systému od základů až po pokročilé předměty.
  • Linux Crontab: 15 Úžasných příkladů úloh Cron: kurz ve formátu otázek a odpovědí.
  • Nováček: Úvod do Cronu: Základní úvod Unix Geeks do cronu se spoustou příkladů.
  • Krátký úvod do Cron Jobs: jednoduchý úvod do cronu s důrazem na použití příkazu crontab místo manuální úpravy souboru crontab.
  • Plánování úkolů na Linuxu pomocí Crontab: jasný úvod do plánování cronů na Linuxových serverech.
  • CronHowto: Úvod do Ubuntu dokumentace k cron, crontab a alternativám

Příručky Cron

Na jakémkoli unixovém systému, který máte, budete moci získat informace o jeho implementaci cron pomocí příkazu man:

  • % man crontab # Zobrazuje příručku k příkazu crontab.
  • % man 5 crontab # Zobrazí příručku pro formát souboru crontab.
  • % man cron # Zobrazí manuál pro démona cron.

Zde jsou manuály online pro Linux a FreeBSD:

  • Linux Crontab File: příručka pro soubor crontab používaný v Linuxu.
  • Linux Crontab Command: příručka pro Linuxovou aplikaci pro přidání cron úloh do crontab souboru.
  • Linux Cron Daemon: příručka pro Linux cron démona – program, který funguje.
  • Soubor Crontab FreeBSD: příručka pro soubor crontab používaný ve FreeBSD.
  • Příkaz FreeBSD Crontab: příručka pro aplikaci FreeBSD pro přidání úloh cron do souboru crontab.
  • FreeBSD Cron Daemon: příručka pro cron daemon FreeBSD – program, který vykonává veškerou práci.

Cron Tools

Mnoho z těchto nástrojů vám pomůže nejen naplánovat věci cron tak, jak je chcete, ale také vám poskytne informace o fungování celého systému..

  • Crontab – Rychlý průvodce: praktický průvodce pro uživatele, kteří jsou se systémem již obeznámeni.
  • Generátor Crontab: rozhraní point and click, které vydává linku crontab pro jakýkoli plánovaný úkol, který si přejete.
  • Snadné vytváření syntaxe crontab: další generátor crontab, ale ten, který je opravdu nápomocný při učení vytvářet si vlastní crontab soubory ručně.
  • Crontab Editor: opak generátoru; zadáte informace o úloze cron a řekne vám, co jste naplánovali.
  • Standard Cron Jobs: úvod do vytváření cron úloh s cPanel z SiteGround.
  • Using Cron: úvod do používání cron s příklady pomocí ovládacího panelu Plesk.

Cron Alternatives

Protože plánování je tak důležitou součástí práce na počítači, existuje spousta možností, pokud jde o software, jak to udělat. Cron je standard, ale pokud máte pokročilejší nebo jednoduše odlišné potřeby, některé z těchto alternativ mohou lépe vyhovovat vašim účelům.

  • Anacron: náhrada cron u počítačů, které nejsou vždy spuštěny. Může tedy řešit situace, kdy počítač není naplánován, když je naplánována úloha.
  • Fcron: obvykle náhrada za cron, ale jako anacron nevyžaduje, aby byl systém vždy spuštěn.
  • Hcron: náhrada cronu se zlepšeným formátem tabulky, nezávislostí úlohy a orientací na síť.
  • JAMS: komerční podnikový systém plánování.
  • Jobber: komerční produkt s plánovacími schopnostmi kombinovaný s kontrolou klienta a fakturací.
  • Chronos: distribuovaný plánovací program určený pro cloudové systémy.

souhrn

Plánování úkolů je jedním z nejdůležitějších aspektů práce s počítači – je to jeden ze způsobů, jak vám ušetří spoustu času. A pokud pracujete se servery Linux, pravděpodobně už používáte cron. Ale s trochou znalostí je můžete použít k výraznému zlepšení vaší produktivity a snížení nudných a omylových částí vaší práce.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map