Apgūt Cron Job un automatizēt servera pamata uzdevumus

Tīmekļa mitināšana ir izstrādāta tā, lai tā būtu ērta, skaidra un lieliski piemērota profesionāļiem, kuri dodas ceļā, un vienkārši nevar katru dienu veltīt katru stundu sava hostinga servera un ar to saistīto uzdevumu pārvaldībai..


Šajā nolūkā gandrīz katrs serveris, kura pamatā ir Unix vai Linux, piedāvā automatizētu uzdevumu pārvaldnieku, kas pazīstams kā “Cron Job” vai “Crontab”.

Šī programmatūras utilīta ir līdzīga uzdevumu plānotājam operētājsistēmā Microsoft Windows, jo tai var likt veikt noteiktas lietas noteiktā laikā, ietaupot lietotāju no šo uzdevumu veikšanas manuāli. Tas ir īpaši svarīgi, ja tiek uzskatīts, ka daudzu parasto serveru uzturēšanas, dublēšanas un sakaru procedūru veikšana var ilgt stundas un stundas. Lielākā daļa cilvēku vienkārši vēlas doties mājās pēc dienas birojā un atpūsties, nevis pavadīt vakaru, dublējot failus un pārvaldot kontaktus.

Šiem cilvēkiem veicas, jo katru uzdevumu var plānot katru dienu, nedēļu vai mēnesi – dažos gadījumos pat vēl vairāk, un Crontab utilītā serverim var dot īpašas instrukcijas, kā veikt uzdevumu. , kā zināt, kad tas ir pabeigts, un ko darīt, kad šis uzdevums ir faktiski pabeigts.

Lietotāji varēs atpūsties, kamēr viņu serveris stundām ilgi veiks visu smago darbu; vai arī viņi var vienkārši ieplānot pabeidzamo darbu, kamēr smagi strādā savās telpās. Tā kā tas ir automatizēts, Cron darbs var notikt praktiski jebkurā diennakts stundā.

Mācīšanās noteikt laiku, izmantojot Krona darba formātu

Cron darbs nav īsti viegli apgūstams; faktiski tas tiek plaši uzskatīts par vienu no vismodernākajām konfigurācijām, kas pieejama standarta Linux vai Unix tīmekļa serverī. Daļēji tas notiek tāpēc, ka šo darbu programmēšanai izmantotā valoda ir tik arhaiska un dažos gadījumos pilnīgi atpaliek. Runājot par noteikta laika norādīšanu attiecīgajam Cron darbam vai Cron cilnei, lietas noteikti ir atpakaļgaitā, otrādi un nedaudz mulsinošas.

Laika norādīšanas formāts, izmantojot Kronu, ir šāds:

MINUTES STUNDAS MĒNEŠA MĒNEŠA DIENAS NEDĒĻAS KOMANDA

Tas viss ir vienā rindā, un pat skaitlis un komanda ir līdzās vienā vienotā kontrakcijā. Tas ir pietiekami, lai vairums izstrādātāju un serveru operatoru satrauktos, un patiesībā daudzi no viņiem to dara, līdz brīdim, kamēr viņi saņem nokavēšanos efektīva Cron darba izstrādei.

Ir svarīgi atzīmēt, ka katrs Krona darba laika aspekts ir skaitlisks; nav mēneša vārdu dienu vārdi vai citi vārdi, kas tiek izmantoti visa tā laika attīstības laikā, kurā jāveic uzdevums.

Tāpēc iestatīsim Cron darbu līdz 7. jūlija plkst. 10:30 līdz rītam, lai sajustu, kā izskatās Cron darba laiks, kad tas tiek stingri pārveidots par skaitļiem.

30 10 07 07 *

Iepriekš minētajā piemērā teikts, ka darbs jāpabeidz desmitās stundas 30. minūtē septītā mēneša septītajā dienā. Visi cipari ir divu ciparu garumā, pat ja mēnesis vai diena ir tikai viens cipars. Tas ir svarīgi atcerēties, jo viens cipars bieži rada Krona darbu nederīgu un tas nekad netiks veikts. Konstrukcijas beigās zvaigznīte norāda, ka darbs jāveic jebkurā nedēļas dienā. Tas ir svarīgi, jo, iestatot trešdienai to uz 03, tas nozīmētu, ka uzdevumu veiks tikai 7. jūlijā, ja šī diena būs otrdiena. Tas, iespējams, notiks reizi septiņos vai astoņos gados, kas lielākajai daļai izstrādātāju ir nedaudz jāņem vērā.

Vēl viens svarīgs apsvērums, kas jāņem vērā, izveidojot Cron darbu, ir tas, ka stundu formāts ir 24 stundu militārais laiks, nevis 12 stundu civilā laiks. Lai mainītu Krona darba laiku uz pulksten 10:00, stunda tiktu mainīta uz 22 pašreizējās 10 stundas vietā.

Krona darba piemēri

Visbeidzot, ja lietotājs vēlas tikai veikt uzdevumu katru dienu, mēnesi vai pat gadu, viņš var pilnībā izlaist noteikta laika iestatīšanas procesu. Tā vietā Cron darba process paredz vienkārši izmantot mainīgos, kas nosaka, kad darbs tiek veikts ar šiem biežiem intervāliem. Tie ietver:

  • @dien
  • @mēnesis
  • @ gadu

Tā kā laiku nevar stingri kontrolēt un noteikt, izmantojot stundas un minūtes, šie darbi notiks precīzi pusnaktī, atbilstoši servera iekšējam laikam, pieprasītajā intervālā. Tas nozīmē, ka @mēneša intervāls notiks precīzi pusnaktī katra mēneša pirmajā dienā. @Yearly intervāls notiks precīzi pusnaktī katra gada pirmajā dienā; un @daily intervāls notiks tieši pusnaktī katru gada dienu.

Tas ir daudz vienkāršāk nekā noteikta datuma, laika un nedēļas dienas iestatīšana, taču dažiem uzdevumiem, kas tiek veikti pusnaktī mēneša vai gada pirmās dienas laikā, dažiem klientiem var būt daži trūkumi. Plānojot uzdevumus, kas notiek tieši pusnaktī, vienmēr ņemiet vērā gan administratoru, gan vietnes apmeklētāju vajadzības.

Satveriet mainīgo “KOMANDA” un ko ar to darīt

Kā redzams iepriekšējā piemērā, reālā Cron darba konstruēšana ir samērā vienkārša. Vispirms jādefinē datums, un pēc tam tūlīt jānosaka Krona darba funkcija. Šī funkcija var būt burtiski jebkas, ieskaitot PHP skripta palaišanu vai pielāgota rezerves skripta palaišanu, kas servera failus un datus glabā attālā vai lokālā failā. Skaidrības labad mēs balstīsimies uz iepriekš izmantoto piemēru un uzdosim Kronam izpildīt PHP skriptu 7. jūlijā pulksten 10:30 no rīta. Šis PHP skripts tiks saukts par “backup.php”, un mēs pieņemsim, ka PHP fails ir pilns rezerves skripts, kas mēneša septītajā mēnesī apkopo, saspiež un saglabā vietnes failus, ja serveris to ir norādījis. Tas izskatās šādi:

30 10 07 07 * http://jūsu-domens-vards.com/backup-scripts/backup.php

Kad šis Cron darbs tiek ievadīts servera Cron cilņu sarakstā, tas tiks automātiski izpildīts katru gadu 7. jūlijā plkst. 10:30. Tajā darbosies PHP rezerves skripts, kas atrodas direktorijā “backup-scripts”, un tur darbojas īstais Cron darba iestatīšanas ģēnijs..

Tā vietā, lai lietotājiem pieprasītu uzlabotas komandas, lai veiktu tādas vietas kā vietņu dublēšana un kešatmiņas uzpildes, tas lietotājiem vienkārši dod iespēju izpildīt esošos skriptus noteiktā intervālā vai noteiktā datumā noteiktā laikā. Tas nozīmē, ka nav vajadzīgas uzlabotas programmēšanas zināšanas, kas pārsniedz to, ko lietotājs jau zina. PHP lieliski spēj dublēt vietņu failus, tāpat kā daudz modernāki faili un programmēšanas valodas, kuras sarežģītāks lietotājs var izveidot savam Linux serverim..

Šo vienkāršo iestatīšanu var izmantot, lai izdarītu praktiski jebko, ja vien iepriekš uzrakstīts skripts nodrošina šo darbību izpildi neatkarīgi no lietotāja ievades. Tas nozīmē, ka jebkuram skriptam, ko Cron cilnē izpilda Cron darbs, jābūt pilnībā automatizētam un jāspēj izpildīt vienam. Piemēram, nebūtu iespējams (un vienkārši neloģiski) pateikt Cron darbam izpildīt WordPress indeksa vai motīvu failu katru dienu vienā un tajā pašā laikā. Vienkārši nav definētas darbības vai automatizēti procesi, un, lai gan Cron darbs noteikti izpildītu failu, tas neko nedarīs un sēdēs statiski, kamēr lietotāja ievade netiks sniegta citā veidā.

Šī iemesla dēļ, ja kodējat vai lejupielādējat rezerves skriptus vai citus, lai strādātu ar Cron darbiem, vienmēr pārliecinieties, ka, lai veiksmīgi veiktu savas funkcijas, ir nepieciešama precīza nulles lietotāja ievade. Automatizēts uzdevumu plānotājs ir jāsavieno pārī ar automatizētu procesu failā, kuru tas izpilda. Šim noteikumam nav izņēmumu.

Kopējā Cron cilnes faila apgūšana tipiskā serverī

Katrs konkrēts izpildīšanai norādītais Cron darbs atrodas lielākā failā, ko sauc par Cron cilni. Dažiem serveriem ir vairākas Cron cilnes dažādu veidu lietojumprogrammām un automatizētām ievadam, taču tas notiek reti un lielākoties ir paredzēts vismodernākajiem serveru operatoriem un īpašniekiem. Tie, kuriem ir tikai viens cilnes Cron fails, var izmantot zemāk esošās komandas, lai rediģētu, izdzēstu vai apskatītu failu kopumā, katram no tiem norādot savus īpašos automatizētos uzdevumus, lai tos apskatītu failā..

crontab -r

Šī komanda noņem (tādējādi “r”) vai izdzēš visu Krona cilnes failu. Tas to efektīvi attīrīs no visām komandām un automatizētajiem skriptiem un atjaunos tukšajā failā, kuru var atjaunot. Šī ir piemērota iespēja tiem, kuriem ir izdevies sabojāt failu vai kaut kā nepareizi pielietot uzdevumus un laiku. Dažreiz visu sākt ir vienkārši vieglāk.

crontab -e

Šajā gadījumā “e” apzīmē “rediģēt”. Lietotāji, kuri vēlas rediģēt cilnē Cron aprakstītās funkcijas, nevis pilnībā izdzēst failu, var izmantot šo komandu, lai nokļūtu komandrindas redaktorā, kas viņiem ļaus pievienot jaunus uzdevumus, noņemt vecos vai mainīt piemērojamo grafiku. laiki katram no Cron darbiem, kas uzskaitīti Cron cilnes dokumentā.

crontab -l

Šajā gadījumā to ir viegli atcerēties, saistot “L” ar “izskatu”. Šī komanda ļauj servera administratoram vienkārši apskatīt visu cilnes Cron faila saturu, pilnībā nenoņemot to no servera un nespējot rediģēt saturu. Šis tikai lasāmā cilnes Cron saturs ir lieliski piemērots, lai atcerētos, kuri uzdevumi ir ieplānoti noteiktā laikā, un pārbaudītu paša faila integritāti..

Kāpēc ir svarīgi apgūt Cron Job un Cron Tab automatizācijas failus

Vispārīgi runājot, vienīgais, kas automatizēts par serveri, ir tā cietā diska vērpšana un aparatūras īpašību izpilde. Tomēr serverim ir jābūt apmācītam un instruētam ikdienas un ārkārtas uzdevumu veikšanai, kas pārsniedz un pārsniedz tikai programmatūras vadības paneļa parādīšanu vai PHP vai Perl instalācijas uzlabošanu, ko lietotājs ir ievietojis cietajā diskā..

Ir svarīgi atcerēties, ka viena no visbūtiskākajām funkcijām, ko serveris var regulāri izpildīt, ir vietnes un datu un iestatījumu dublējuma izveidošana. Praktiski nav iespēju automatizēt šo procesu bez Cron darba, un, ņemot vērā interneta raksturu un visus ļaunprātīgos apmeklētājus, kas katru dienu iziet cauri vietnei, nespēja automatizēt šo procesu katru dienu vai katru nedēļu var izraisīt ievērojamu un katastrofāli zaudēti dati.

Tomēr, neraugoties uz to, ir virkne uzdevumu, kas jāautomatizē, izmantojot Krona darba procesu. Šajos uzdevumos ietilpst visu vietnes kešatmiņu iztīrīšana, kas vietnes apmeklētājiem varētu parādīt novecojušus attēlus vai izdrukātu saturu; tajā ietilpst arī veco failu dzēšana, veco direktoriju un attēlu tīrīšana un pārliecināšanās, ka viss, kas glabājas servera cietajā diskā, ir aktuāls un nebojāts.

Tāpat kā veselīgs personālais dators automātiski ieplāno diska uzturēšanu, pretvīrusu un ļaunprātīgas programmatūras skenēšanu, programmatūras atjauninājumus un failu dzēšanu, arī veselais serveris ir jākonfigurē tā, lai pats par sevi parūpētos un būtu labā stāvoklī. Pretējā gadījumā tas kļūst neaizsargāts pret avārijām, hakeru mēģinājumiem un datu zaudēšanu, kas novedīs pie zaudētas peļņas, reklāmas, satura veidošanas un pat meklētājprogrammu ranga statusa..

Viegli iemācīties un vieglāk izvietot

Cron darba izveidošana standarta cilnē Cron ir viena no vienkāršākajām darbībām, ko var veikt servera administrators.

Process atrodas standarta komandrindā un katru laika segmentu sadala divciparu kodā.

Tā kā uzdevumu automatizēšanai nav nepieciešamas papildu zināšanas par jaunu programmēšanas valodu, pakalpojums galvenokārt balstās uz esošajām zināšanām par programmēšanu un servera darbību, kas jau pieder administratoram. Šādā gadījumā vienkārši nav pamata nesākt automatizēt būtiskas servera funkcijas un nodrošināt vietnes datu un operāciju integritāti.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me