Cron, Crontab nədir? Necə istifadə olunur?

Salam əziz oxucular. Bu günki məqalədə mən sizlərə system adminlərin  kimi sistemlərdə ən çox istifadə etdikləri Cron,Crontab–dan danışacam. Cron unix/linux sistemlərində zamanlanmış tapşırıqları müəyyən zaman aralığında arxa planda çalışdıramn bir programdır yəni hər hansi əməliyyatı müəyyən zaman aralığında avtomatik olaraq çalışdırmasıdır.Crontab isə tapşırığı icra edəcək kişinin məlumatlarını saxlayan fayldır.Cron windowsdakı task scheduler-ə oxşardır. Bu əsasən avtomatik muəyyən zamanlarda backup ların alinması, sistem scan olunması və kimi işlərdə  istifadə olunur. Hər istifadəçinin özünün crontab faylı vardır. Çalışan cron job-ların loglarında istifadəçi məlumatlarını görə bilərsiniz.İstifadəçilərin crontab yaratma haqqı vardır, bunu əngəlləmək üçün /etc/cron.deny faylına istifadəçi adını yazarsanız onda istifadəçinin crontab yaratma haqqındı ləgv etmiş olacaqsınız.

Hal-hazırda sistemdə crond servisinin statusuna baxaq:

systemctl-status-crond-service

ps-ef-grep-cron

Crontab fayli /etc direktoriyası altında yerləşir.cat əmri ilə faylın içinə baxdıqda nümünə olaraq necə istifadə olunmasını göstərilib.

cat-etc-crontab

Sistem tərəfindən  yaradılan cron ları /etc nin altında  yerləşir.

ls-etc-cron

Indi isə bəzi misallara baxaq, faylı hər hansı bir editorla açaqdıqdıqdan sonra görduyünüz dəyişikləri edək, əvvala zaman məlumatlarını daxil edək daha sonra isə istifadəçi adını və yerinə yetirəcəyi işi qeyd edək.Burda göstərilən nümünədə hər bir dəqiqədən bir root istifadəçisi üçün top məlumatlarını Babak.txt faylına yazacaq.

vi-etc-crontab

Faylı açmadan crontab əmrlərindən istifadə edərək, bunları yerinə yetirə bilərik

Crontab –e    à yeni crontab yaratmaq üçün

Crontab –l     à sistemdə olan crontab ları listələmək üçün

Crontab –u     à xüsüsi ilə istifadəçiyə aid etmək üçü daxil edilir əgər daxil edilməzsə default     olaraq hal-hazırda login olan istifadəçiyə şamil olunacaq.

Crontab –r     à sistemdə olan crontab ları silmək üçün

 

İndi isə yeni crontab yaradaq hansı ki hər bir dəqiqədən bir  uptime əmri icra olunsun və eyni zamanda Babak.txt faylına yazılsın.

crontab-u-root-l

Sonra yenidən crontab –u root –l amrini daxil etdikdən sonra crontabın yarındıgını görə bilərsiz.

crontab-u-root-l1

cron-tab-root-r

crontab-u-root-l2

Hər istifadəçi üçün yaradılmış crontab lara /var/spool/cron/ direktoriyasından baxa bilərsiz.

ls-var-spool-cron-root

Misal 1.Hər həftənin bazar günü saat gunorta saat 2 də full-backup alsın.

crontab-e

Misal 2. Elmir istifadəçisinin yanvar, may, avqust aylarında home –nin backup alınsin

crontab-u-elmir-e

Misal 3. @yearly /home/babakli/full-backup

əmrində də istifadə edib hər ilin birinci ayının birinci saatının birinci dəqiqəsində icra olunacaq bunun ekvivalenti  = 0 0 1 1 * /home/babakli/full-backup

Bununla bərabər biz uygun olaraq  @daily, @hourly, @weekly, @mounthly və @reboot –danda istifadə etmək olar.Burada məncə aydın olmayan bircə @reboot əmri olar buda ki, system başlayanda sizin təyin etdiyiniz crontab icra olunacaq.

Misal 4. Hər 30 saniyədən bir crontab icra olunsun. Bildiyimiz kimi saniyə üçün zaman arılığı yoxdur amma bunun başqa yolu var baxaq J

* * * * * /home/babakli/full-backup

       * * * * * sleep 30; /home/babakli/full-backup

Misal 5 .Eyni vaxtda bir çox crontab yaratmaq, 9  saatdan bir həm full-backup alinsin həmdəki /scripts/script.sh icra olunsun.

0 */9 * * *    /home/babakli/full-backup;  /scripts/script.sh

Arxa planda baş verən prosesləri izləmək üçün /var/log/cron faylini izləmək lazımdır.

tail-f-va-log-cron

Operatorlar

Ulduz(*) – butun hallara uygundur

Vergul(,) – siyahida verilənlər üçün keçərlidir misal üçün : “0 0 1,5,10,12 * * ”(ayin 1,5,10,12 de)

Tre(-) – diapazoonda verilenlər keçərlidir misal üçün : ” * 1-5 * * *  ”(Saat birden 5- e qeder)

Bolme(/) –neçəsə saatdan,aydan,deqiqeden bir misal üçün : ” * /4 * * *  ”  ( 4 saatdan bir)

 

Bu qədər dostlar, ümid edirəm ki faydalı olar.

Gələn görüşlərədək ….

Səs: +60. Bəyənilsin Zəifdir

Müəllif: Babək Məmmədov

Şərhlər ( 2 )

  1. əllərinizə sağlıq

Şərh yazın