Eksekutimi i taskeve ne linux me cron

Diskutime tek 'Linux Servers' filluar nga Brilliant, 5 May 2014.

  1. Brilliant

    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 [​IMG] 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
     
    Al-Punk and gurax like this.
  2. gurax

    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.
     

Shpërndajeni këtë faqe