Mastering van die Cron Job en Outomatisering Basiese Server Take | WHSR
Tuis > Blog > Gewilde Artikels > Mastering van die Cron Job en Outomatisering Basiese Server Take
Web hosting is ontwerp om maklik, eenvoudig en perfek te wees vir die professionele wat op die pad is en kan nie elke uur van elke dag wy aan die bestuur van hul hosting server en gepaardgaande take.
Om dié rede bied byna elke bediener wat gebaseer is op Unix of Linux, 'n outomatiese taakbestuurder bekend as die "cron"Of" Crontab. "
Hierdie sagteware program is baie soos die taakskeduler in Microsoft Windows, aangesien dit op sekere tye vertel kan word om sekere dinge te doen, om 'n gebruiker te red om hierdie take handmatig uit te voer. Dit is veral belangrik wanneer u van mening is dat baie roetine bediener instandhouding, Friends en kommunikasie prosedures ure en ure kan neem om te voltooi. Die meeste mense wil net na 'n dag in die kantoor huis toe gaan en ontspan, eerder as om hul aand te spandeer om lêers te bestuur en kontakte te bestuur.
Daardie mense is gelukkig, want elke taak kan daagliks, weekliks of maandeliks geskeduleer word - of selfs verder uitmekaar, en in sekere gevalle kan spesifieke instruksies aan die bediener gegee word in die Crontab-nut om die taak te verrig. , hoe om te weet wanneer dit voltooi is, en wat om te doen wanneer die taak reg is.
Gebruikers sal kan ontspan terwyl hul bediener al die swaar opheffing vir ure doen; of hulle kan eenvoudig die werk voltooi wat voltooi moet word terwyl hulle in hul eie kantore hard aan die werk is. Omdat dit outomaties is, kan 'n Cron-werk op feitlik enige uur van die dag plaasvind.
Leer om tyd te vertel met behulp van 'n Cron Job se formaat
'N Cron-werk is nie juis 'n maklike ding om te bemeester nie; Trouens, dit word algemeen beskou as een van die mees gevorderde konfigurasies wat op 'n standaard beskikbaar is Linux or Unix webbediener. Dit is gedeeltelik omdat die taal wat gebruik word om hierdie werksgeleenthede te program, so oud is en in sommige gevalle heeltemal agteruit. As dit gaan om 'n sekere tyd aan die betrokke Cron-werk- of Cron-oortjie te vertel, is dinge beslis agteruit, onderstebo en 'n bietjie verwarrend.
Die formaat om tyd via 'n Cron-werk te vertel, is soos volg:
MINUTE UUR DAG-VAN-MAAND MAAND DAG-VAN-WEEK BEHEER
Dit is almal een lyn, en ewe getal en opdrag is langs mekaar in een eenvormige sametrekking. Dit is genoeg om die meeste ontwikkelaars en bedieneroperateurs te laat wen en inderdaad, baie van hulle doen totdat hulle 'n hang kry vir die ontwikkeling van 'n doeltreffende Cron-werk.
Dit is belangrik om daarop te let dat elke aspek van die Cron-werk se tyd numeries is; Daar is geen maand name dag name, of ander woorde gebruik word deur die ontwikkeling van die tyd waartydens 'n taak uitgevoer moet word.
Kom ons stel dus 'n Cron-werk vir 10: 30 op Julie 7th in om 'n gevoel te kry vir hoe 'n Cron-werk se tyd lyk as dit in streng getalle verander word.
In die bostaande voorbeeld word bepaal dat die werk voltooi moet word op die 30ste minuut van die tiende uur op die sewende dag van die sewende maand. Alle getalle is twee syfers lank, selfs wanneer die maand of dag slegs 'n enkelsyfer is. Dit is belangrik om te onthou, aangesien 'n enkele syfer die Cron-werk dikwels ongeldig sal maak en dit eenvoudig nie ooit uitgevoer sal word nie. Aan die einde van die konstruktuur dui 'n sterretjie daarop dat die werk op enige dag van die week uitgevoer moet word. Dit is belangrik, aangesien dit vir Woensdag tot 03 gestel word, beteken dit dat die taak slegs op Julie 7th uitgevoer sou word as die dag 'n Dinsdag was. Dit sal waarskynlik een keer elke sewe of agt jaar gebeur, wat 'n bietjie absorbeer vir die meeste ontwikkelaars om te oorweeg.
Nog 'n belangrike oorweging om te maak wanneer jy 'n Cron-werk opstel, is dat die uurformaat 24-uur militêre tyd is, eerder as 12-uur burgerlike tyd. Om die tyd van Cron werk na 10 pm te verander, sal die uur verander word na 22 in plaas van die huidige 10.
Ten slotte, as 'n gebruiker net 'n taak op 'n daaglikse, maandelikse of selfs jaarlikse basis wil voltooi, kan hulle die proses oorskakel om 'n spesifieke tyd heeltemal te stel. In plaas daarvan maak die Cron-werkproses voorsiening vir die gebruik van veranderlikes wat bepaal wanneer 'n werk op hierdie gereelde intervalle gedoen word. Dit sluit in:
Aangesien die tyd nie streng en beheerbaar met ure en minute beheer kan word nie, sal hierdie werksgeleenthede presies middernag gebeur, volgens die interne tyd van die bediener, op die verlangde interval. Dit beteken dat die @monthly interval op die eerste dag van elke maand presies middernag sal plaasvind. Die @ jaarlikse interval sal op die eerste dag van elke jaar presies middernag plaasvind; en die @ daglikse interval sal elke dag van die jaar presies middernag plaasvind.
Dit is baie makliker as om 'n spesifieke datum, tyd en dag van die week in te stel, maar sekere take wat teen middernag op die eerste dag van die maand of jaar uitgevoer word, kan sekere nadele vir sekere kliënte hê. Hou altyd die behoeftes van beide administrateurs en werfbesoekers in gedagte wanneer u take opneem wat presies middernag plaasvind.
Gryp die "COMMAND" Veranderlike en Wat om daarmee te doen
Soos in die bostaande voorbeeld gesien kan word, is die konstruksie van 'n werklike Cron-werk relatief maklik. Die datum moet eers gedefinieer word en dan word die funksie van die Cron-werk dadelik omskryf. Daardie funksie kan letterlik enigiets wees, insluitende die bestuur van 'n PHP-script of 'n persoonlike rugsteun-script wat die bediener se lêers en data in 'n afgeleë of plaaslike lêer stoor. Ter verduideliking sal ons voortbou op die voorbeeld wat voorheen gebruik is en die Cron-werk opdrag gee om 'n PHP-skrif op Julie 7th te 10: 30 in die oggend uit te voer. Hierdie PHP-skrip sal "backup.php" genoem word en ons sal aanvaar dat die PHP-lêer 'n volledige rugsteunskrif is wat versamel, komprimeer en stoor werflêers op die sewende van die maand wanneer dit deur die bediener opdrag gegee word. Hier is hoe dit lyk:
Wanneer hierdie Cron-werk in die lys van die Cron-oortjies van die bediener ingevoer word, sal dit outomaties uitgevoer word op 10: 30 elke Julie 7th van elke jaar. Dit sal die PHP-rugsteunskrif wat in die "Friends-scripts" -gids geleë is, hardloop, en dit is waar die ware genie van die Cron-werksopstelling werk.
In plaas daarvan om gevorderde opdragte van sy gebruikers te vereis om dinge soos werfkopieë en kasflushes uit te voer, gee dit net gebruikers die vermoë om bestaande skrifte uit te voer op 'n bepaalde interval of op 'n spesifieke datum op 'n spesifieke tydstip. Dit beteken dat daar nie gevorderde programmeringskennis nodig is wat die gebruiker alreeds weet nie. PHP is perfek in staat om back-up werf lêers, asook veel meer gevorderde lêers en programmeringstale wat die meer gesofistikeerde gebruiker vir hul Linux-bediener kan ontwikkel.
Hierdie eenvoudige opstelling kan gebruik word om feitlik enigiets te doen, solank as wat 'n voorafgeskrewe skrif voorsiening maak vir die uitvoering van daardie aksies onafhanklik van gebruikerinvoer. Dit beteken dat 'n script wat uitgevoer word deur 'n Cron-werk binne 'n Cron-oortjie, volledig geautomatiseerd moet wees en op sy eie kan funksioneer. Byvoorbeeld, dit sou onmoontlik wees (en net onlogies) om die Cron-werk te vertel om 'n WordPress-indeks of tema-lêer elke dag op dieselfde tyd uit te voer. Daar is eenvoudig geen aksies of outomatiese prosesse gedefinieer nie, en terwyl die Cron-werk die lêer beslis sou uitvoer, sou dit niks doen nie en sou dit staties wees totdat gebruikersinvoer op 'n ander manier voorsien is.
As gevolg van die kodering of aflaai van rugsteunskripte of ander om met Cron-werk te werk, moet u altyd seker maak dat hulle presies nul-invoer benodig om hul funksies suksesvol uit te voer. 'N Outomatiese taakskeduleerder moet gekoppel word aan 'n outomatiese proses binne die lêer wat dit uitvoer. Daar is geen uitsonderings op hierdie reël nie.
Die algehele Cron Tab-lêer op 'n tipiese bediener bemeester
Elke spesifieke Cron-werk wat vir uitvoering gespesifiseer word, lê in 'n groter lêer wat bekend staan ​​as 'n Cron-oortjie. Sommige bedieners het verskeie Cron-oortjies vir verskeie soorte toepassings en outomatiese insette, maar dit is skaars en grotendeels gereserveer vir die mees voorste bedieneroperateurs en eienaars. Diegene wat net een Cron-bladlêer het, kan die volgende instruksies gebruik om die lêer in sy geheel te wysig, te verwyder of te sien, met elk van hul spesifieke outomatiese take wat gelys word om in die lêer te kyk.
Hierdie opdrag verwyder (dus "r") of verwyder die hele Cron tablêer self. Dit sal dit effektief uit alle opdragte en outomatiese skrifte skoonmaak en dit herstel na 'n leë lêer wat herbou kan word. Dit is 'n geskikte opsie vir diegene wat daarin geslaag het om die lêer te korrupteer of op een of ander manier take en tye onvanpas te maak. Soms is dit makliker om alles oor te begin.
In hierdie geval staan ​​"e" vir "edit". Die gebruikers wat die funksies beskryf wat in 'n Cron-oortjie beskryf word, eerder as om die lêer heeltemal te verwyder, kan hierdie opdrag gebruik om na die instruksieslynredakteur te gaan wat hulle sal toelaat om Voeg nuwe take by, verwyder oues, of verander die toepaslike skedule tye vir elk van die Cron-werksgeleenthede wat in die Cron-oortjie dokument verskyn.
In hierdie geval is dit maklik genoeg om te onthou deur die "L" met "kyk" te assosieer. Hierdie opdrag laat 'n bedieneradministrateur toe om die volledige inhoud van hul Cron-oortjie-lêer te sien sonder om dit heeltemal van die bediener te verwyder en sonder die vermoë om die inhoud te wysig. Hierdie lees-alleen vertoning van Cron oortjie inhoud is perfek om te onthou watter take is geskeduleer vir watter tye, en vir die verifikasie van die integriteit van die lêer self.
Hoekom dit belangrik is om die Cron Job te bemeester, is 'n Cron Tab Outomatiseringslêer
Oor die algemeen is die enigste ding wat geoutomatiseer word oor 'n bediener, die spin van die hardeskyf en die prestasie van sy hardeware-eienskappe. Daarbenewens moet die bediener die opgeleide en opdrag gee om roetine en buitengewone take te doen wat bo en behalwe die vertoon van 'n sagteware-beheerpaneel of die opgradering van die installasie van PHP of Perl wat 'n gebruiker op die hardeskyf geplaas het, opgradeer.
Dit is belangrik om te onthou dat een van die mees noodsaaklike funksies wat 'n bediener gereeld kan uitvoer, is die skep van 'n rugsteun van 'n webwerf van data en instellings. Daar is feitlik geen manier om hierdie proses sonder 'n Cron-werk te automatiseer nie en as gevolg van die aard van die internet en al die kwaadwillige besoekers wat daagliks deur 'n webwerf gaan, kan dit nie daagliks of weekliks outomatiseer word nie. en katastrofiese data verlies.
Daarbenewens is daar 'n aantal take wat outomaties met behulp van die Cron-werkproses geaktiveer moet word. Hierdie take sluit in die skoonmaak van enige werfkaste wat verouderde beelde of gedrukte inhoud aan besoekers kan vertoon; Dit sluit ook die verwydering van ou lêers, die skoonmaak van ou dopgehou en beelde, en om seker te maak dat alles wat op die hardeskyf van 'n bediener gestoor word, huidig ​​en onklaar is.
Net soos 'n gesonde persoonlike rekenaar skeduleer outomaties skyfonderhoud, antivirus- en malware-skanderings, sagteware-opdaterings en lêerverwydering, moet 'n gesonde bediener gekonfigureer word om self te sorg en goed te staan. Andersins word dit kwesbaar vir ineenstortings, inbraakpogings en dataverlies wat tot verlore winste, advertensies, inhoudskepping en selfs posisie van die soekenjin lei.
Maklik om te leer en makliker te implementeer
Die skep van 'n Cron-werk binne 'n standaard Cron-oortjie is een van die maklikste dinge wat 'n bedieneradministrateur kan doen.
Die proses lê binne die standaard opdraglyn en breek elke segment van die tyd in 'n twee-syfer kode.
Aangesien dit geen addisionele kennis van 'n nuwe programmeertaal nodig het om take te outomatiseer nie, bou die diens basies op die bestaande kennis en kennis van bedieners wat 'n administrateur reeds besit. As dit die geval is, is daar eenvoudig geen rede om nie noodsaaklike bedienerfunksies te outomatiseer nie en om die integriteit van werfdata en -aktiwiteite te verseker.