Mastering van die Cron Job en Outomatisering Basiese Server Take

Artikel geskryf deur:
  • Gewilde Artikels
  • Opgedateer: Sep 06, 2017

Webhosting is ontwerp om maklik, eenvoudig en perfek te wees vir die professionele persoon wat onderweg is en kan eenvoudig nie elke uur van elke dag daaraan wy nie 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 op 'n daaglikse, weeklikse of maandelikse basis geskeduleer word - of selfs verder van mekaar, in sommige gevalle, en spesifieke instruksies kan aan die bediener gegee word in die Crontab-hulpprogram vir die uitvoering van die taak. , hoe om te weet wanneer dit voltooi is, en wat om te doen wanneer die taak wat voorlê, eintlik afgehandel is.

Gebruikers sal kan ontspan terwyl hul bediener ure lank al die swaar opheffings doen; of hulle kan eenvoudig die werk skeduleer wat voltooi moet word terwyl hulle hard aan die werk is in hul eie kantore. Omdat dit outomaties is, kan 'n Cron-baan feitlik elke uur van die dag voorkom.

Leer om tyd te vertel deur die formaat van Cron Job te gebruik

'N Cron-baan 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 alles een lyn, en die getal en die opdrag is langs mekaar in een eenvormige sametrekking. Dit is genoeg om die meeste ontwikkelaars en bedieneroperateurs te laat toeneem, en baie van hulle doen dit eintlik totdat hulle 'n kans kry om 'n doeltreffende Cron-baan te ontwikkel.

Dit is belangrik om daarop te let dat elke aspek van die Cron-baan se tyd numeries is; daar is geen maandname dagname nie, of ander woorde word gebruik gedurende die ontwikkeling van die tyd waartydens 'n taak uitgevoer moet word.

Laat ons daarom 'n Cron-baan opstel vir 10: 30 is op Julie 7th om 'n gevoel te kry vir hoe die tyd van 'n Cron-baan lyk wanneer dit in streng getalle verander word.

30 10 07 07 *

In die voorbeeld hierbo lui dat die werk voltooi moet word op die 30ste minuut van die tiende uur op die sewende dag van die sewende maand. Al die syfers is twee syfers lank, selfs as die maand of dag slegs 'n enkele syfer is. Dit is belangrik om te onthou, aangesien 'n enkele syfer die Cron-baan dikwels ongeldig sal maak en dit eenvoudig nooit uitgevoer sal word nie. Aan die einde van die kamstruktuur dui 'n sterretjie aan dat die werk op enige dag van die week uitgevoer moet word. Dit is belangrik, want as u dit Woensdag op 03 stel, sou dit beteken dat die taak eers op 7e Julie uitgevoer sou word as die dag Dinsdag was. Dit sal waarskynlik elke sewe of agt jaar gebeur, wat die meeste ontwikkelaars 'n bietjie absorbeer.

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.

Cron Job Voorbeelde

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:

  • @daily
  • @monthly
  • @yearly

Aangesien die tyd nie streng en met ure en minute bepaal kan word nie, sal hierdie bane volgens die interne tyd van die bediener presies middernag plaasvind, met die verlangde interval. Dit beteken dat die @ maandelikse interval presies middernag op die eerste dag van elke maand sal plaasvind. Die @jaarlikse interval vind presies middernag op die eerste dag van elke jaar plaas; en die @ daaglikse interval sal presies middernag plaasvind elke enkele dag van die jaar.

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 gesien kan word in die voorbeeld hierbo, is dit redelik maklik om 'n werklike Cron-baan op te stel. Die datum moet eers gedefinieër word en dan word die funksie van die Cron-baan onmiddellik daarna gedefinieer. Die funksie kan letterlik alles behels, insluitend die bestuur van 'n PHP-skrip of die bestuur van 'n pasgemaakte rugsteunskrip wat die bediener se lêers en data in 'n afgeleë of plaaslike lêer stoor. Ter toeligting, sal ons voortbou op die voorbeeld wat voorheen gebruik is en die Cron-baan opdrag gee om 'n PHP-skrip op Julie 7ste op 10: 30 in die oggend uit te voer. Hierdie PHP-skrip sal 'backup.php' heet en ons aanvaar dat die PHP-lêer 'n volledige rugsteunskrip is wat werflêers versamel, saamgooi en stoor op die sewende van die maand wanneer die bediener dit opdrag gee om dit te doen. Dit is hoe dit lyk:

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

Wanneer hierdie Cron-taak in die lys van die Cron-oortjies van die bediener ingevoer word, word dit outomaties uitgevoer op 10: 30 om elke Julie 7ste van elke jaar. Dit sal die PHP-rugsteunskrip dra wat in die gids "rugsteun-skripte" geleë is, en dit is waar die ware genie van die Cron-baanopstelling 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.

crontab -r

Hierdie opdrag verwyder (dus “r”) of vee die hele Cron-oortjie-lêer self uit. Dit sal dit effektief van alle opdragte en outomatiese skripte suiwer, 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 beskadig of op een of ander manier verkeerde take en tye te gebruik. Soms is dit eenvoudig makliker om van voor af te begin.

crontab-e

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.

crontab -l

In hierdie geval is dit maklik genoeg om te onthou deur die 'L' aan 'look' te koppel. Met hierdie opdrag kan die bedieneradministrateur eenvoudig die volledige inhoud van hul Cron-oortjie-lêer besigtig sonder om dit heeltemal van die bediener te verwyder en sonder die vermoë om die inhoud te wysig. Hierdie leesalleen weergawe van die Cron-oortjie-inhoud is ideaal om te onthou watter take vir watter tye geskeduleer is, en om die integriteit van die lêer self te verifieer.

Waarom dit belangrik is om die Cron Job en Cron Tab-outomatiseringslêers te bemeester

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 belangrikste funksies wat 'n bediener gereeld kan uitvoer, is om 'n webwerf-rugsteun van data en instellings te skep. Daar is feitlik geen manier om hierdie proses te outomatiseer sonder 'n Cron-baan nie, en as gevolg van die aard van die internet en al die kwaadwillige besoekers wat daagliks deur 'n webwerf gaan, kan die versuim om hierdie proses op 'n daaglikse of weeklikse basis te outomatiseer, aansienlike en katastrofiese verlies aan data.

Daar is egter 'n aantal take wat outomaties met behulp van die Cron-taakproses geoutomatiseer moet word. Hierdie take sluit in die skoonmaak van enige webwerf-geheime wat verouderde prente of gedrukte inhoud vir besoekers aan die werf kan vertoon; dit bevat ook die verwydering van ou lêers, die skoonmaak van ou mappe en prente en om seker te maak dat alles wat op die hardeskyf van 'n bediener gestoor is, aktueel en ononderbroke 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.

Oor Jerry Low

Stigter van WebHostingSecretRevealed.net (WHSR) - 'n hosting-oorsig wat deur 100,000 se gebruikers vertrou en gebruik word. Meer as 15 jaar ervaring in web hosting, affiliate marketing en SEO. Bydraer tot ProBlogger.net, Business.com, Social MediaToday.com, en meer.