A face aceeasi sarcina din nou si din nou poate fi o corvoada. Programarea unui cron job permite utilizatorilor sa automatizeze sarcinile pe orice sistem de operare Linux. Aceasta functie economiseste timp  iar utilizatorii se pot concentra asupra altor sarcini esentiale. In cele ce urmeaza veti afla ce este un cron job, astfel incat sa puteti programa sarcini mai eficient.

Ce este un cron job?

Cron este un program utilitar care permite utilizatorilor sa introduca comenzi pentru programarea sarcinilor repetitive la un moment specific. Sarcinile programate in cron se numesc joburi cron (sau cron job). Utilizatorii pot determina ce fel de sarcina doresc sa automatizeze si cand ar trebui sa fie executata.

Cron este un daemon – un proces de fundal care executa joburi non-interactive. In Windows, este posibil sa fiti familiarizat cu procesele de fundal, cum ar fi serviciile care functioneaza similar cu daemon cron.

Un fisier cron este un fisier text simplu care contine comenzi pentru a rula periodic la un anumit moment. Tabelul cron implicit al sistemului sau fisierul de configurare crontab este /etc/crontab.

Numai administratorii de sistem pot edita fisierul crontab de sistem. Cu toate acestea, sistemele de operare asemanatoare Unix accepta mai multi administratori. Fiecare poate crea un fisier crontab si poate scrie comenzi pentru a efectua sarcini oricand doreste.

Cron job este o comanda Linux folosita pentru programarea sarcinilor care urmeaza sa fie executate candva in viitor. Acesta este de obicei folosit pentru a programa o lucrare care este executata periodic – de exemplu, pentru a trimite o notificare in fiecare dimineata.

Cu ajutorul joburilor cron (sau a cron job-urilor), utilizatorii pot automatiza mentenanta sistemului, monitorizarea spatiului pe disc si programarea backup-urilor. Datorita naturii lor, cron job-urile sunt excelente pentru computerele care functioneaza 24/7, cum ar fi serverele.

In timp ce joburile cron sunt utilizate in principal de administratorii de sistem, ele pot fi benefice si pentru dezvoltatorii web. De exemplu, in calitate de administrator al site-ului web, puteti configura un cron job pentru a face backup automat pentru site-ul dvs. in fiecare zi la miezul noptii, altul pentru a verifica link-urile broken in fiecare luni la miezul noptii si o a treia pentru a va sterge memoria cache a site-ului in fiecare vineri la pranz.

Limitari

Cu toate acestea, ca orice alt program, cron are limitari pe care ar trebui sa le luati in considerare inainte de a-l folosi:

  • Cel mai scurt interval dintre joburi este de 60 secunde. Cu cron, nu veti putea repeta un job la fiecare 59 de secunde sau mai putin.
  • Centralizat pe un singur computer. Joburile cron nu pot fi distribuite pe mai multe computere dintr-o retea. Deci, daca computerul care ruleaza cron se blocheaza, sarcinile programate nu vor fi executate, iar joburile ratate vor putea fi executate doar manual.
  • Fara mecanism auto-retry. Cron este proiectat sa ruleze la ore strict specificate. Daca o sarcina esueaza, nu va rula din nou pana la urmatoarea ora programata. Acest lucru face ca cron sa nu fie potrivit pentru sarcini incrementale.

Inainte de a crea un job Cron, asigurati-va ca scriptul functioneaza. Pentru a face asta, deschideti fisierul in browser (prin URL) sau executati-l prin SSH, in functie de tipul de script pe care il aveti. Daca scriptul nu functioneaza, contactati dezvoltatorii pentru ajutor.

Majoritatea cron job-urilor au trei componente:

  • Scriptul care urmeaza sa fie apelat sau executat.
  • Comanda care executa scriptul in mod repetat. Acest lucru este setat de obicei in cPanel.
  • Actiunea sau output-ul scriptului, care depinde de ceea ce face scriptul apelat. Frecvent, scripturile numite cron job-uri modifica fisierele sau bazele de date. Cu toate acestea, ele pot efectua si alte sarcini care nu modifica si datele de pe server, cum ar fi trimiterea de notificari prin e-mail.

Majoritatea scripturilor care necesita utilizarea unui job cron va vor oferi instructiuni specifice despre ceea ce trebuie configurat, dand frecvent exemple.