Controlul mediului de lucru

Pagina principala   Curs Laborator Proiect

<< Variabile de mediu  

Crontab

Crontab este un daemon prin care orice utilizator ii poate spune sistemului sa ruleze comenzi periodic la o anumita data. Comenzile sunt executate cand data si ziua specificata coincid exact cu data si ziua sistemului pe care ruleaza SO. Setarea datei pe sistem se poate verifica cu comanda:

date

Daemon-ul examineaza cron-urile utilizatorilor in fiecare minut. Formatul unei linii in cron este:

1 2 3 4 5 6
           
MINUT ORA ZIUA_DIN_LUNA LUNA ZIUA_DIN_SAPTAMANA comanda_de_executat

Dupa cum se vede mai sus, sunt 6 campuri ce se pot introduce pe o linie de cron. Prima indica minutul, a doua ora, a treia ziua din luna in care sa se execute comanda. Al patrulea camp indica luna din an, al cincelea camp ziua din saptamana in care se va executa comanda.

Campurile pot contine si semnul *, adica se indica ca semnificatia acelui camp nu conteaza. De exemplu daca in campul 3 apare semnul *, inseamna ca acea comanda va fi executata in fiecare zi a lunii.

Sunt posibile si intervale de cifre, adica daca in campul al doilea de exemplu se introduce 4-7, inseamna ca va fi executata comanda la orele 4,5,6,7, deci inclusiv si in limitele intervalului.
De asemenea sunt permise si liste de cifre, de exemplu: 5,8,10,12 sau 3-6,10-14.

Se poate folosi si specificarea datelor in pasi (folosind caracterul /), cand se utilizeaza intervale, sau semnul *. De exemplu daca se foloseste in primul camp: */10, insemna ca se va executa comanda specificata in fiecare 10 minute. Sau daca se scrie in al doilea camp 4-10/2, se va executa cron-ul din doua in doua ore, intre orele 4 si 10 dimineata.

La campurile LUNA si ZIUA_DIN_SAPTAMANA pot fi folosite si nume, nu numai cifre. In acest caz trebuie utilizate primele 3 caractere din nume, de exemplu:

mon, tue, wed, ... respectiv pentru lunile anului jan, feb, mar, apr.

Exemple:

0 7 * * * mail -s "laborator xxx" username%Am laborator de xxx azi de la ora 14%

0 12 15 jun * mail -s "ziua lui Mihai" username%Pe 18 este ziua lui Mihai%

Atentie: nu ignorati caracterele speciale sau spatiile!
Semnul % introduce o linie noua. In primul exemplu s-a specificat ca utilizatorul username sa primeasca mail la ora 7:00 dimineata cu subiectul "laborator xxx" si cu mesajul respectiv.
In al doilea exemplu utilizatorul username va primi un mesaj la ora 12:00 in data de 15 iunie, cu subiectul si mesajul indicat.

Crontab-ul se editeaza cu comanda:

crontab -e

editorul apelat fiind vi.

Spatiul alocat pentru cont

Pentru a verifica cat spatiu aveti alocat in cont si deasemenea cat este ocupat din el dati comanda quota. Ca urmare va fi afisata urmatoarea informatie:

Filesystem
blocks
quota
limit
grace
files
quota
limit
grace
vega:/disk1/home1
2340
60048
65420
3214
0
0

Toate cifrele sunt exprimate in kiloocteti (kilobyte). Coloana blocks arata cat spatiu ocupa fisierele din cont, adica in exemplul de mai sus 2340kB, exprimat in Mocteti este 2.3MB.
Coloana 3 (quota) numita si limita soft arata cat spatiu este alocat pentru utilizator, pana la aceasta limita utilizatorul putand stoca oricand fisiere. Coloana 4 (limit) este asa numita limita hard.
Utilizatorul poate depasi limita soft pana la limita hard pentru o perioada de 24 ore, dupa care nu mai poate salva sau scrie nimic in cont, si nu poate primi mailuri. Perioada de gratie este indicata in coloana 5 (grace), adica cat timp mai are utilizatorul pentru a reveni sub limita soft pentru a putea utiliza contul.

Filesystem
blocks
quota
limit
grace
files
quota
limit
grace
vega:/disk1/home1
*64520
60048
65420
10:32
3214
0
0

In exemplul de mai sus utilizatorul a depasit limita soft si mai are 10 ore si 32 de minute pana expira perioada de gratie. Pentru a putea utiliza din nou contul trebuie sa stearga fisierele pana revina sub limita de 10MB.

Pentru a afisa marimea fiecarui fisier si director din cont sau dintr-un director oarecare se foloseste comanda du (disk usage). De exemplu comanda:

du -k ~

va lista marimea tuturor fiserelor si directoarelor din contul Dvs, iar la sfarsit suma totala. Marimea este indicata in kiloocteti, deoarece s-a folosit optiunea -k. Daca doriti sa vedeti doar suma totala, fara a vedea marimea fiecarui fisier, folositi optiunea -s (de la suma) a comenzii du, adica:

du -sk

<< Variabile de mediu