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 |