Stăpânirea jobului Cron și automatizarea sarcinilor de bază ale serverului

Gazduirea web este proiectată să fie ușoară, simplă și perfectă pentru profesioniștii care sunt în mișcare și pur și simplu nu se poate dedica în fiecare oră din fiecare zi gestionării serverului lor de găzduire și sarcinilor asociate.


În acest scop, aproape fiecare server bazat pe Unix sau Linux oferă un manager de sarcini automat cunoscut sub numele de „Cron Job” sau „Crontab”.

Această utilitate software seamănă foarte mult cu programatorul de sarcini din Microsoft Windows, prin faptul că i se poate spune să facă anumite lucruri în anumite momente, salvând un utilizator să efectueze aceste activități manual. Acest lucru este deosebit de important atunci când considerăm că multe proceduri de întreținere, backup și comunicații de rutină ale serverului pot dura ore și ore pentru a fi finalizate. Majoritatea oamenilor doresc pur și simplu să se întoarcă acasă după o zi la birou și să se relaxeze, mai degrabă decât să-și petreacă seara în copie de siguranță și administrarea contactelor.

Acești oameni au noroc, întrucât fiecare sarcină poate fi programată zilnic, săptămânal sau lunar – sau chiar mai departe, în unele cazuri, și instrucțiuni specifice pot fi date serverului din cadrul utilității Crontab cu privire la modul de îndeplinire a sarcinii , cum să știi când este completă și ce să faci când sarcina la îndemână a fost de fapt finalizată.

Utilizatorii vor putea să se relaxeze în timp ce serverul lor face toate orele mari de ridicare; sau pur și simplu pot programa lucrările pentru a fi finalizate în timp ce lucrează greu în propriile lor birouri. Deoarece este automatizat, un job Cron poate să apară la orice oră din zi.

Învățând să povestească timpul folosind formatul unui job Cron

O meserie Cron nu este tocmai un lucru ușor de stăpânit; de fapt, este considerată pe scară largă una dintre cele mai avansate configurații disponibile pe un server web standard Linux sau Unix. Acest lucru se datorează parțial faptului că limbajul folosit pentru programarea acestor joburi este atât de arhaic și, în unele cazuri, complet invers. Când vine vorba de a spune un anumit timp job-ului Cron sau fila Cron în cauză, lucrurile sunt cu siguranță înapoi, cu susul în jos și puțin confuz.

Formatul de a spune timpul printr-o lucrare Cron este astfel:

MINUTA ORA COMUNE ZIUA DE LUNI ZIUA LUNII COMANDĂ

Este vorba de o singură linie și chiar numărul și comanda sunt alături de o singură contracție uniformă. Este suficient pentru a face ca majoritatea dezvoltatorilor și operatorilor de server să învingă și, de fapt, mulți dintre ei o fac până când obțin un blocaj pentru dezvoltarea unui job Cron eficient.

Este important să rețineți că fiecare aspect al timpului lucrării Cron este numeric; nu există nume de nume de luni, sau alte cuvinte folosite pe parcursul dezvoltării perioadei în care ar trebui să se efectueze o sarcină.

Prin urmare, haideți să stabilim un job Cron până la 10:30 a.m., pe 7 iulie, pentru a avea o idee despre cum arată timpul unei lucrări Cron atunci când este transformat în numere strict.

30 10 07 07 *

Exemplul de mai sus afirmă că slujba ar trebui să fie finalizată la cel de-al treisprezecelea minut din a zecea oră în a șaptea zi a celei de-a șaptea luni. Toate numerele au două cifre, chiar și atunci când luna sau ziua este doar o singură cifră. Este important să ne amintim, întrucât o singură cifră va determina adesea lucrarea Cron să fie invalidă și pur și simplu nu va fi efectuată niciodată. La sfârșitul structurii con, un asterisc indică faptul că treaba ar trebui să fie efectuată în orice zi a săptămânii. Acest lucru este important, întrucât setarea acesteia la 03 pentru miercuri ar însemna că sarcina va fi îndeplinită doar pe 7 iulie, dacă ziua respectivă era marți. Acest lucru se va întâmpla o dată la șapte sau opt ani, ceea ce este un pic absorbant pentru cei mai mulți dezvoltatori să ia în considerare.

O altă considerație importantă de luat în momentul înființării unei slujbe Cron este că formatul de oră este timpul militar de 24 de ore și nu cel civil de 12 ore. Pentru a schimba ora de lucru Cron la 22:00, ora ar fi schimbată la 22 în loc de 10 curente.

Exemple de locuri de muncă Cron

În cele din urmă, dacă un utilizator dorește doar să finalizeze o sarcină zilnic, lunar sau chiar anual, poate sări peste procesul de setare a unui anumit timp în întregime. În schimb, procesul de lucru Cron prevede simpla utilizare a variabilelor care determină când se lucrează la aceste intervale dese. Acestea includ:

  • @zilnic
  • @lunar
  • @anual

Deoarece timpul nu poate fi controlat și determinat strict folosind ore și minute, aceste lucrări se vor produce exact la miezul nopții, în funcție de ora internă a serverului, la intervalul solicitat. Asta înseamnă că intervalul @ lunar va avea loc exact la miezul nopții din prima zi a fiecărei luni. Intervalul @yarly va avea loc exact la miezul nopții din prima zi a fiecărui an; iar intervalul @daily va avea loc exact la miezul nopții în fiecare zi a anului.

Acest lucru este mult mai ușor decât setarea unei date, ore și zile specifice săptămânii, dar anumite sarcini care sunt efectuate la miezul nopții din prima zi a lunii sau a anului pot avea unele dezavantaje pentru anumiți clienți. Rețineți întotdeauna nevoile atât ale administratorilor, cât și ale vizitatorilor site-ului atunci când planificați sarcinile care apar exact la miezul nopții.

Prindeți variabila „COMMAND” și ce să faceți cu aceasta

După cum se poate observa în exemplul de mai sus, construirea unei lucrări Cron efective este relativ ușoară. Data trebuie definită mai întâi, apoi funcția Cronului este definită imediat după aceea. Această funcție poate fi literalmente orice, inclusiv rularea unui script PHP sau rularea unui script de rezervă personalizat care stochează fișierele și datele serverului într-un fișier local sau la distanță. Pentru clarificări, ne vom baza pe exemplul care a fost folosit anterior și vom instrui jobul Cron să ruleze un script PHP pe 7 iulie, la 10:30 dimineața. Acest script PHP se va numi „backup.php” și vom presupune că fișierul PHP este un script de rezervă complet, care adună, comprimă și stochează fișierele site-ului pe a șaptea a lunii, atunci când serverul a solicitat acest lucru. Iată cum arată:

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

Când această lucrare Cron este introdusă în lista file Cron a serverului, aceasta va fi executată automat la 10:30 a.m., în fiecare 7 iulie a fiecărui an. Va rula scriptul de rezervă PHP, care se află în directorul „backup-scripts” și de acolo funcționează adevăratul geniu al configurației de lucru Cron..

În loc să ceară comenzi avansate ale utilizatorilor săi pentru a efectua lucruri precum copiile de rezervă ale site-ului și fluxurile de cache, pur și simplu le oferă utilizatorilor posibilitatea de a executa scripturi existente la un interval specificat sau la o dată specifică la o anumită oră. Aceasta înseamnă că nu sunt necesare cunoștințe avansate de programare, dincolo de ceea ce utilizatorul știe deja. PHP este perfect capabil să creeze fișiere de site-uri de rezervă, așa cum sunt fișierele mult mai avansate și limbaje de programare pe care un utilizator mai sofisticat le-ar putea dezvolta pentru serverul lor Linux.

Această configurație simplă poate fi folosită pentru a face practic orice, atât timp cât un script pre-scris prevede executarea acțiunilor independente de intrarea utilizatorului. Aceasta înseamnă că orice script executat de o lucrare Cron într-o filă Cron trebuie să fie complet automatizat și să poată efectua singur. De exemplu, ar fi imposibil (și pur și simplu ilogic) să îi spunem lucrării Cron să execute un index sau un fișier tematic WordPress în fiecare zi, în același timp. Pur și simplu nu sunt definite acțiuni sau procese automatizate și, în timp ce lucrarea Cron ar executa cu siguranță fișierul, nu ar face nimic și ar sta static până când intrarea utilizatorului va fi furnizată într-un alt mod.

Din acest motiv, dacă codificați sau descărcați scripturi de rezervă sau altele pentru a lucra cu joburi Cron, asigurați-vă întotdeauna că acestea necesită o intrare exactă a utilizatorului zero pentru a-și îndeplini funcțiile cu succes. Un programator automat de sarcini trebuie să fie asociat cu un proces automat din fișierul pe care îl execută. Nu există excepții de la această regulă.

Stăpânirea fișierului general Cron tab pe un server tipic

Fiecare lucrare Cron specifică care este specificată pentru execuție se află într-un fișier mai mare care este cunoscut sub numele de fila Cron. Unele servere au mai multe file Cron pentru mai multe tipuri de aplicații și intrări automate, dar acest lucru este rar și în mare parte rezervat pentru cei mai avansați operatori și proprietari de server. Cei care au un singur fișier cu file Cron pot utiliza comenzile de mai jos pentru a edita, șterge sau vizualiza fișierul în întregime, cu fiecare dintre sarcinile lor specifice automate listate pentru vizualizare în fișier..

crontab -r

Această comandă elimină (deci „r”) sau șterge întregul fișier Cron. Acest lucru îl va curăța în mod eficient de toate comenzile și scripturile automatizate și îl va restaura la un fișier gol care poate fi reconstruit. Aceasta este o opțiune potrivită pentru cei care au reușit să corupă fișierul sau să îndeplinească oarecum sarcini și sarcini inadecvate. Uneori, este pur și simplu mai ușor să începeți peste tot.

crontab -e

În acest caz, „e” înseamnă „editare”. Acei utilizatori care doresc să editeze funcțiile descrise într-o filă Cron, mai degrabă decât să șteargă fișierul în întregime, pot utiliza această comandă pentru a fi dusă la editorul de linii de comandă, care le va permite să adauge noi sarcini, să înlăture cele vechi sau să schimbe programul aplicabil ore pentru fiecare dintre lucrările Cron enumerate în documentul Cron tab.

crontab -l

În acest caz, este destul de ușor de reținut prin asocierea „L” cu „look. Această comandă permite unui administrator de server să vizualizeze pur și simplu conținutul complet al fișierului Cron fără a-l scoate din server în întregime și fără a avea posibilitatea de a edita conținutul. Această afișare numai în citire a conținutului filei Cron este perfectă pentru a vă aminti ce sarcini sunt programate pentru perioade și pentru a verifica integritatea fișierului în sine.

De ce este important să stăpânești jobul Cron într-o fișieră de automatizare cu file Cron

În general, singurul lucru automat despre un server este rotirea hard disk-ului și performanța caracteristicilor sale hardware. Dincolo de asta, totuși, serverul trebuie să fie instruit și instruit să facă sarcini de rutină și extraordinare, care depășesc și mai mult decât doar afișarea unui panou de control software sau modernizarea instalării PHP sau Perl pe care un utilizator le-a plasat pe hard disk.

Este important să rețineți că una dintre cele mai esențiale funcții pe care un server le poate executa în mod regulat este crearea unei copii de rezervă a site-ului de date și setări. Practic, nu există nicio modalitate de a automatiza acest proces fără o lucrare Cron și, datorită naturii internetului și a tuturor vizitatorilor nocivi care trec zilnic printr-un site, eșecul automatizării acestui proces zilnic sau săptămânal ar putea duce la un efect semnificativ și pierderi catastrofice de date.

Cu toate acestea, mai presus de asta, există însă o serie de sarcini care ar trebui automatizate folosind procesul de lucru Cron. Aceste sarcini includ curățarea oricărei memorii din memoria site-ului care ar putea afișa imagini învechite sau conținut tipărit vizitatorilor site-ului; include, de asemenea, ștergerea fișierelor vechi, curățarea directoarelor și a imaginilor vechi și asigurarea faptului că tot ceea ce este stocat pe hard disk-ul serverului este curent și neîntrerupt.

La fel cum un computer personal sănătos programează automat întreținerea discului, scanări antivirus și malware, actualizări software și ștergeri de fișiere, un server sănătos trebuie configurat pentru a avea grijă de sine și pentru a rămâne în stare bună. În caz contrar, devine vulnerabilă la prăbușiri, încercări de hacking și pierderi de date care vor duce la pierderi de profit, publicitate, creare de conținut și chiar statutul de clasare a motorului de căutare..

Ușor de învățat și mai ușor de implementat

Crearea unei lucrări Cron în cadrul unei file Cron standard este unul dintre cele mai ușoare lucruri pe care le poate face un administrator de server.

Procesul se încadrează în linia de comandă standard și descompune fiecare segment de timp într-un cod format din două cifre.

Deoarece nu necesită nicio cunoaștere suplimentară a unui nou limbaj de programare pentru a automatiza sarcinile, serviciul se bazează, în esență, pe cunoștințele de programare și operațiuni existente pe care un administrator le deține deja. În acest caz, nu există pur și simplu niciun motiv să nu începeți automatizarea funcțiilor esențiale ale serverului și să asigurați integritatea datelor și a operațiunilor site-ului.

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