Zvládnutie úlohy Cron a automatizácia základných úloh servera

Web hosting je navrhnutý tak, aby bol jednoduchý, priamy a perfektný pre profesionálov, ktorí sú na cestách, a jednoducho sa nemôžu venovať každú hodinu každý deň správe svojho hostingového servera a súvisiacich úloh..


Za týmto účelom ponúka takmer každý server založený na systéme Unix alebo Linux automatizovaného správcu úloh známyho ako „Cron Job“ alebo „Crontab“.

Tento softvérový nástroj je podobne ako plánovač úloh v systéme Microsoft Windows, pretože mu možno povedať, aby v určitých časoch robil určité veci, čo užívateľovi ušetrí od manuálneho vykonávania týchto úloh. Toto je obzvlášť dôležité, keď si uvedomíme, že mnoho rutinných postupov údržby servera, zálohovania a komunikácie môže trvať hodiny a hodiny, kým sa dokončí. Väčšina ľudí jednoducho chce ísť domov po dni v kancelárii a relaxovať, namiesto toho, aby strávili večer zálohovaním súborov a spravovaním kontaktov.

Títo ľudia majú šťastie, pretože každú úlohu je možné naplánovať na dennej, týždennej alebo mesačnej báze – alebo v niektorých prípadoch aj ďalej od seba, a v rámci nástroja Crontab môžu byť serveru poskytnuté konkrétne pokyny na vykonanie úlohy. , ako zistiť, kedy je dokončená, a čo robiť, keď bola daná úloha skutočne dokončená.

Užívatelia budú mať možnosť relaxovať, zatiaľ čo ich server robí všetky ťažké zdvíhanie celé hodiny; alebo môžu jednoducho naplánovať dokončenie práce, keď majú ťažkú ​​prácu vo svojich vlastných kanceláriách. Pretože je to automatizované, úloha spoločnosti Cron sa môže vyskytnúť prakticky každú hodinu dňa.

Naučte sa rozprávať čas pomocou formátu úlohy Cron

Úloha spoločnosti Cron nie je celkom ľahké zvládnuť; v skutočnosti sa všeobecne považuje za jednu z najpokročilejších konfigurácií dostupných na štandardnom webovom serveri Linux alebo Unix. Je to čiastočne preto, že jazyk používaný na programovanie týchto úloh je tak archaický a v niektorých prípadoch úplne pozadu. Pokiaľ ide o rozprávanie určitého času o úlohe Cron alebo o karte Cron, veci sú určite dozadu, hore nohami a trochu mätúce..

Formát oznamovania času prostredníctvom úlohy Cron je taký:

DENNÝ MESAČNÝ DENNÝ MESIACOVÝ DENNÝ HODINOVÝ DNÍ HODINY

Je to všetko na jednom riadku a párne číslo a príkaz sú vedľa seba v jednom rovnomernom kontrakte. Je to dosť na to, aby väčšina vývojárov a prevádzkovateľov serverov prepadla, a v skutočnosti mnohí z nich robia, kým sa nezastavia za vývoj efektívnej úlohy spoločnosti Cron..

Je dôležité si uvedomiť, že každý aspekt času práce spoločnosti Cron je číselný; v priebehu času, počas ktorého by sa mala úloha vykonávať, neexistujú žiadne názvy názvov dní ani iné slová.

Preto 7. júla nastavíme prácu spoločnosti Cron, aby sme získali pocit, ako vyzerá čas úlohy spoločnosti Cron, keď sa zmení na prísne čísla..

30 10 07 07 *

V uvedenom príklade sa uvádza, že práca by sa mala ukončiť 30. minútu desiatej hodiny siedmeho dňa siedmeho mesiaca. Všetky čísla sú dlhé dve číslice, aj keď je mesiac alebo deň iba jedna číslica. Toto je dôležité pamätať na to, že jedna číslica často spôsobí neplatnosť úlohy Cron a jednoducho nebude nikdy vykonaná. Na konci konštrukcie je hviezdička označujúca, že práca by sa mala vykonať v ktorýkoľvek deň v týždni. Je to dôležité, pretože stanovenie na 03 na stredu by znamenalo, že úloha by sa splnila iba 7. júla, ak by bol tento deň utorok. Pravdepodobne k tomu dôjde raz za sedem alebo osem rokov, čo je pre väčšinu vývojárov trochu zaujímavé.

Ďalším dôležitým faktorom, ktorý treba vziať do úvahy pri nastavovaní úlohy Cronu, je, že hodinový formát je 24 hodinový vojenský čas, a nie 12-hodinový civilný čas. Ak chcete zmeniť čas úlohy Cron na 10:00, zmení sa hodina namiesto 22 na 22 hodín.

Príklady úloh Cron

Nakoniec, ak používateľ chce len dokončiť úlohu každý deň, mesačne alebo dokonca ročne, môže úplne vynechať proces nastavenia konkrétneho času. Namiesto toho proces úlohy Cron umožňuje jednoduché použitie premenných, ktoré určujú, kedy sa úloha vykonáva v týchto častých intervaloch. Tie obsahujú:

  • @daily
  • @monthly
  • @yearly

Pretože čas nie je možné prísne kontrolovať a určiť pomocou hodín a minút, tieto úlohy sa uskutočnia presne o polnoci, podľa interného času servera, v požadovanom intervale. To znamená, že @ mesačný interval sa objaví presne o polnoci prvého dňa každého mesiaca. @ Ročný interval sa objaví presne o polnoci prvý deň každého roka; a @ denný interval nastane presne o polnoci každý deň v roku.

Je to omnoho jednoduchšie ako stanovenie konkrétneho dátumu, času a dňa v týždni, ale určité úlohy, ktoré sa vykonávajú o polnoci v prvý deň mesiaca alebo roka, môžu mať pre niektorých zákazníkov určité nevýhody. Pri plánovaní úloh, ktoré sa vyskytujú presne o polnoci, vždy pamätajte na potreby správcov aj návštevníkov stránok.

Uchopte premennú „COMMAND“ a čo s ňou robiť

Ako je možné vidieť v príklade vyššie, zostrojenie skutočnej úlohy Cron je relatívne ľahké. Dátum musí byť najskôr definovaný a potom je okamžite definovaná funkcia úlohy Cron. Táto funkcia môže byť doslova čokoľvek, vrátane spustenia skriptu PHP alebo spustenia prispôsobeného záložného skriptu, ktorý ukladá súbory a údaje servera do vzdialeného alebo lokálneho súboru. Na objasnenie sa opierame o príklad, ktorý sa predtým používal, a nariadime úlohe Cron, aby 7. júla o 10:30 ráno spustila skript PHP. Tento skript PHP sa bude nazývať „backup.php“ a budeme predpokladať, že súbor PHP je úplný záložný skript, ktorý zhromažďuje, komprimuje a ukladá súbory stránok na siedmy mesiac v mesiaci, keď na to server dostane pokyn. Ako to vyzerá:

30 10 07 07 * http://your-domain-name.com/backup-scripts/backup.php

Ak je táto úloha Cron zadaná do zoznamu záložiek Cron servera, bude automaticky vykonaná každý rok 7. júla o 22:30. Spustí sa záložný skript PHP, ktorý sa nachádza v adresári „backup-scripts“, a tam funguje skutočný génius nastavenia úlohy Cron..

Namiesto toho, aby vyžadoval pokročilé príkazy svojich používateľov na vykonávanie záležitostí, ako sú zálohy stránok a vyrovnávacie pamäte cache, jednoducho umožňuje používateľom spúšťať existujúce skripty v určenom intervale alebo v určitý deň v konkrétnom čase. To znamená, že nie sú potrebné žiadne pokročilé znalosti programovania nad rámec toho, čo už používateľ vie. PHP je dokonale schopné zálohovať súbory na webe, rovnako ako oveľa pokročilejšie súbory a programovacie jazyky, ktoré by mohol sofistikovanejší užívateľ vyvinúť pre svoj Linux server..

Toto jednoduché nastavenie možno použiť na vykonávanie prakticky čohokoľvek, pokiaľ vopred napísaný skript poskytuje vykonávanie týchto akcií nezávisle od vstupu používateľa. To znamená, že každý skript vykonaný úlohou Cron na karte Cron musí byť plne automatizovaný a schopný vykonávať samostatne. Napríklad by nebolo možné (a jednoducho nelogické) povedať úlohe Cron, aby každý deň v rovnakom čase spúšťala indexový alebo tematický súbor WordPress. Nie sú jednoducho definované žiadne akcie ani automatizované procesy, zatiaľ čo úloha Cron by určite vykonala tento súbor, nerobila by nič a zostala by statická, kým by nebol poskytnutý vstup iným spôsobom..

Z tohto dôvodu, ak chcete na prácu s úlohami Cron kódovať alebo sťahovať záložné skripty alebo iné, vždy sa uistite, že na úspešné vykonávanie svojich funkcií je potrebný presne nulový vstup od používateľa. Automatizovaný plánovač úloh musí byť spárovaný s automatizovaným procesom v rámci súboru, ktorý vykonáva. Neexistujú žiadne výnimky z tohto pravidla.

Zvládnutie celkového súboru kariet Cron na typickom serveri

Každá konkrétna úloha Cron, ktorá je určená na vykonanie, leží vo väčšom súbore, ktorý je známy ako karta Cron. Niektoré servery majú viac kariet Cron pre rôzne typy aplikácií a automatizované vstupy, ale toto je zriedkavé a väčšinou vyhradené pre najmodernejších operátorov a vlastníkov serverov. Tí, ktorí majú iba jeden súbor s kartou Cron, môžu pomocou nasledujúcich príkazov upravovať, mazať alebo prezerať súbor ako celok, pričom každá z ich konkrétnych automatizovaných úloh je uvedená na prezeranie v súbore..

crontab -r

Tento príkaz odstráni (teda „r“) alebo odstráni celý samotný súbor karty Cron. Tým sa efektívne vymaže zo všetkých príkazov a automatizovaných skriptov a obnoví sa do prázdneho súboru, ktorý je možné znova zostaviť. Toto je vhodná voľba pre tých, ktorým sa podarilo poškodiť súbor alebo nejako spreneveriť úlohy a časy. Niekedy je jednoduchšie začať znova.

crontab -e

V tomto prípade znamená „e“ skratku „edit“. Tí používatelia, ktorí chcú upravovať funkcie popísané na karte Cron, namiesto úplného odstránenia súboru, môžu tento príkaz presunúť do editora príkazového riadka, ktorý im umožní pridávať nové úlohy, odstraňovať staré alebo meniť platný plán. časy pre každú z úloh Cron uvedených v dokumente na karte Cron.

crontab -l

V takom prípade si stačí zapamätať „L“ a „vzhľad“. Tento príkaz umožňuje správcovi servera jednoducho zobraziť celý obsah súboru s kartou Cron bez toho, aby ho úplne odstránil zo servera a bez možnosti úpravy obsahu. Toto zobrazenie obsahu karty Cron iba na čítanie je ideálne na zapamätanie si, ktoré úlohy sú naplánované na ktoré časy a na overenie integrity samotného súboru..

Prečo je dôležité zvládnuť súbory Cron Job a Automation Files

Všeobecne povedané, jediná vec automatizovaná na serveri je roztočenie pevného disku a výkon jeho hardvérových funkcií. Okrem toho musí však server vyškolený a inštruovaný na vykonávanie bežných a mimoriadnych úloh, ktoré idú nad rámec samotného zobrazovania ovládacieho panela softvéru alebo modernizácie inštalácie PHP alebo Perlu, ktoré užívateľ umiestnil na pevný disk..

Je dôležité si uvedomiť, že jednou z najdôležitejších funkcií, ktorú môže server pravidelne vykonávať, je vytvorenie zálohovania údajov a nastavení na webe. Neexistuje prakticky žiadny spôsob, ako automatizovať tento proces bez úlohy Cron, a vzhľadom na povahu internetu a všetkých škodlivých návštevníkov, ktorí denne prechádzajú stránkou, by zlyhanie automatizácie tohto procesu na dennej alebo týždennej báze mohlo mať za následok významné a katastrofická strata údajov.

Nad rámec toho však existuje množstvo úloh, ktoré by sa mali automatizovať pomocou postupu úlohy Cron. Medzi tieto úlohy patrí čistenie všetkých vyrovnávacích pamätí stránok, ktoré by mohli návštevníkom stránok zobraziť zastarané obrázky alebo tlačený obsah; zahŕňa tiež odstraňovanie starých súborov, čistenie starých adresárov a obrázkov a zabezpečenie toho, aby všetko uložené na jednotke pevného disku servera bolo aktuálne a neprerušené.

Rovnako ako zdravý osobný počítač automaticky plánuje údržbu disku, antivírusový a škodlivý softvér, aktualizácie softvéru a odstraňovanie súborov, aj zdravý server musí byť nakonfigurovaný tak, aby sa o seba postaral a zostal v dobrom stave. V opačnom prípade sa stáva zraniteľným voči zlyhaniam, pokusom o prienik do počítačov a strate údajov, ktoré povedú k stratám ziskov, reklame, tvorbe obsahu a dokonca k stavu hodnotenia vyhľadávacieho nástroja..

Ľahko sa učí a ľahšie sa nasadzuje

Vytvorenie úlohy Cron na štandardnej karte Cron je jednou z najjednoduchších vecí, ktorú môže správca servera urobiť.

Proces leží v štandardnom príkazovom riadku a rozdeľuje každý segment času na dvojciferný kód.

Pretože na automatizáciu úloh nie je potrebná žiadna ďalšia znalosť akéhokoľvek nového programovacieho jazyka, služba v zásade stavia na existujúcich znalostiach o programovaní a prevádzke servera, ktoré už správca vlastní. V tomto prípade jednoducho neexistuje dôvod na to, aby sme nezačali automatizovať základné funkcie servera a zabezpečovali integritu údajov a operácií lokality.

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