Linux-da hər 10, 20 və 30 saniyədə bir Cron işini necə idarə etmək olar


Qısa: Cron iş planlayıcısı işlərin saniyələr ərzində yerinə yetirilməsi üçün planlaşdırmanı dəstəkləmir. Bu yazıda sizə Linux-da hər 30 saniyə və ya x saniyədən bir cron işini yerinə yetirməyə kömək edəcək sadə bir hiylə göstərəcəyik.

Siz cron iş planlayıcısında yenisiniz və hər 30 saniyədən bir işə başlamaq istəyirsiniz? Təəssüf ki, cron buna icazə vermir. Hər x saniyədə bir cron işini təyin edə bilməzsiniz. Cron yalnız ən azı 60 saniyə (yəni 1 dəqiqə) vaxt intervalını dəstəkləyir. Hər 30 saniyədə bir cron işini yerinə yetirmək üçün aşağıda izah etdiyimiz hiylədən istifadə etməlisiniz.

Bu təlimatda biz bir işi və ya əmri yerinə yetirmək üçün bir çox başqa nümunələri də əhatə edəcəyik. Ancaq gəlin Linux-da hər 30 saniyədə bir cron işini necə yerinə yetirməyi əhatə etməklə başlayaq.

Linux-da hər 30 saniyədən bir Cron İşini çalıştırın

Yuxarıdakı tapşırığa nail olmaq üçün crontab-da iki giriş yaradın. Birinci iş hər dəqiqədən sonra (60 saniyə) tarix əmrini işlədəcək, sonra ikinci giriş müəyyən bir müddət (bu halda 30 saniyə) gecikdirmək üçün yuxu əmrindən istifadə edir və tarix əmrini yenidən işə salır.

Siz crontab-a aşağıdakı qeydləri əlavə etməlisiniz (cron cədvəli) və onu aşağıdakı crontab əmrindən istifadə edərək redaktə etmək üçün açın (-e bayrağı redaktə etməyə imkan verir):

# crontab -e

Fayla aşağıdakı cron girişlərini əlavə edin.

* * * * * date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log 

İndi /tmp/date.log faylının məzmununu yoxlasanız, tarix əmrinin hər 30 saniyədən bir işlədildiyini görməlisiniz. Fayla baxmaq və təsdiq etmək üçün vaxt sütununu yoxlamaq üçün cat əmrindən istifadə edə bilərik:

$ cat /tmp/date.log

Faylın real vaxt rejimində yenilənməsini də izləyə bilərsiniz. Bunu etmək üçün -f bayrağı ilə tail əmrindən istifadə edin.

$ tail -f /tmp/date.log

Linux-da Cron İşini hər 10 saniyədə çalıştırın

Daha çox nümunəyə baxaq. Bu, hər 10 saniyədə bir cron işinin necə icra olunacağını göstərir. Hiylə sadəcə yuxu əmrinin saniyə sayı ilə oynamaqdır:

* * * * * date>> /tmp/date.log
* * * * * sleep 10; date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log
* * * * * sleep 50; date>> /tmp/date.log

Bir daha /tmp/date.log faylına baxsaq, o, yuxarıdakı crontab girişlərinə əsasən hər 10 saniyədən bir yenilənməlidir:

$ tail -f  /tmp/date.log

Hər 15 saniyədən sonra tarix əmrini yerinə yetirmək üçün başqa bir nümunə:

* * * * * date>> /tmp/date.log
* * * * * sleep 15; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 45; date>> /tmp/date.log

Nəhayət, hər 20 saniyədə bir cron işini yerinə yetirmək üçün belə bir şeyə sahib ola bilərsiniz:

* * * * * date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log

Həmçinin, burada cron istifadə edərək iş planlamasını öyrənmək üçün daha çox məqalə var:

  • Linux-da Cron İşlərini Necə Yaratmaq və İdarə etmək olar
  • Cron Vs Anacron: Linux-da Anacron istifadə edərək işləri necə planlaşdırmaq olar

İndi sən bilirsən! Linux-da hər x saniyədə bir cron işini yerinə yetirmək üçün sizə müxtəlif nümunələr göstərdik. Ətraflı məlumat üçün cron man səhifələrini oxuyun (man cron və man crontab əmrlərini işlətməklə).

Əgər hər hansı faydalı cron əmri tövsiyələrini və ya fəndlərini bilirsinizsə, lütfən, onları aşağıdakı şərhlərdə paylaşın.