Eksekutimi i taskeve ne linux me cron

Brilliant

Forumium maestatis
Duke perdorur server linux (ne rastin tim ubuntu server), kemi nevoja per manaxhimin e taskeve te ndryshme periodike, si dergimin e nje logu per email, berjen e nje backupi njehere ja jave e keshtu me rradhe. Ne kete artikull nuk do te flasim sesi te krijojme nje script apo program ne linuks qe ben nje detyre te caktuar, thjeshte sese mund te shtojme nje task me cron. Cron eshte nje proces qe eksekuton nje komande te caktuar ne nje kohe te caktuar.

Ok, hapim consolen tone, apo futemi ne ndonejmenyre ne shell te sistemit tone, hapim failin e konfigurimit te cron me komanden:

crontab -e

kjo komande do te na hape failin e konfigurimit te cron me editorin e preferuar te ambientit.

nese ky fail do jete bosh presim te shikojme dicka si :

# m h dom mon dow command

qe na shpjegon dhe formatin e informacioneve qe mund te shkruajme ketu, pra kohen, ne minuta, ore,

Formati i intervaleve.
* * * * * komanda
- - - - -
| | | | |
| | | | +----- dita e javes (0 - 6) (E djele=0)
| | | +------- muaji (1 - 12)
| | +--------- dita e muajit (1 - 31)
| +----------- ora (0 - 23)
+------------- minuti (0 - 59)

ne rastin tim, kam krijuar nje script php qe quahet statistka.php dhe me dergon me email statistikat e vizitave te sitit tim (duke lexuar ne nje db, failet e logut etj).Fillimisht kontrollojme qe scripti yne funksionon si duhet:

/usr/bin/php -q /var/www/html/statistka.php

Ok, maili erdhi, gjithcka funksionon, tani dua qe cdo 10 minuta te ma dergoje me email , atehere shtoj ne kete fail kete rresht te ri:

*/10 * * * * /usr/bin/php -q /var/www/html/statistka.php

per siguri, tani le te bej restart te sherbimit cron:

/etc/init.d/cron restart

pse */10 dhe jo 10 ?
vetem 10 do te thote minutin e dhjete te cdo dite, cdo muaji, cdo ore.., kurser me */10 kemi cdo 10 min te cdo dite, cdo muaji, cdo ore…
Por nje procedure e tille, do te mbushte kutine time te mailit, me qindrta maile
icon_wink.gif
ndaj le ta modifikoj, me mjafton nje mail ne muaj..

0 0 1 * * /usr/bin/php -q /var/www/html/statistka.php

kjo eksekuton komanden time, diten e pare te cdo muaji. me komanden:

crontab -l

shikojme listen e komandave qe cron duhet te eksekutoje, e tani qe gjithcka eshte ok, bej nje restart te fundit te cron

/etc/init.d/cron restart
 

gurax

Pan ignoramus
Vlen te theksohet se hapat e pershkruar ne kete shkrim jane te vlefshem per cdo system user dhe nuk kufizohen vetem per root user. Ne unix tradicional vetem root user eshte ne gjendje te vendose dhe konfiguroje cron entries.
 
Top