crontab

Zilele acestea am avut nevoie să programez o serie de comenzi care să ruleze automat, aşa că am învăţat să folosesc cron şi am descris o serie de elemente importante prvind utilizarea cron.

Cron este un utilitar care permite execuţia de comenzi pe sistemele de tip unix, la intervale regulate de timp. Gestionarea comenzilor care se rulează se realizează folosind crontab(CRON TABle). Intrările din această tabelă vor fi rulate la anumite momente de timp, specificate. crontab este, de fapt, un fişier editabil.

Comenzile crontab sunt destul de simple.

  • crontab -l      afişarea crontab
  • crontab -e      editarea crontab
  • crontab -r      ştergerea crontab
  • crontab -v      afişarea momentului efectuării ultimelor modificări

Fişierul crontab are o structură foarte simplă, fiind câte o intrare pe fiecare linie, având forma

min hour day_of_month month day_of_week <comanda de executat>

  • min- minutul la care se executa operaţiunea; valori permise 0-60
  • hour- ora la care se execută operaţiunea; valori permise 0-23
  • day_of_month- ziua din lună în care se execută operaţiunea; valori permise 1-31
  • month- luna din an în care se execută operaţiunea; valori permise 1-12
  • day_of_week- ziua din săptămână în care se execută operaţiunea; valori permise 0-6, duminică = 0

Oricare din valorile de mai sus poate fi înlocuită cu *, specificând oricând- toate valorile permise.

De asemenea, valorile pot fi fie sub formă de interval închis, de ex 1-5 sau de listă separată de virgule.

Exemplu- linia de mai jos execută zilnic, la ora 18:30 comanda specificată:

  • 30     18     *     *     *         rm /home/someuser/tmp/*

De fiecare dată când se excută o comandă, cron trimite mail utilizatorului sub numele căruia a rulat. Acest lucru, însă poate fi dezactivat, prin specificarea

  • >/dev/null 2>&1

la sfârşitul fiecărei comenzi.

Execuţia fiecărei comenzi crează şi un fişier de log. Pe un sistem AIX, de exemplu, se găseşte în /var/admin/cron.

Se poate crea şi un log al fiecărei comenzi prin redirectarea către un fişier specificat.

  • 30 18  *    *   *    rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log

Mare parte din informaţii şi exemple le-am luat de aici.

Anunțuri

Posted on 2009/01/07, in texte and tagged , , . Bookmark the permalink. Lasă un comentariu.

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s