Kako zagnati opravilo Cron vsakih 10, 20 in 30 sekund v Linuxu


Na kratko: Načrtovalnik opravil cron ne podpira načrtovanja izvajanja opravil v intervalih sekund. V tem članku vam bomo pokazali preprost trik, ki vam bo pomagal zagnati opravilo cron vsakih 30 sekund ali x sekund v Linuxu.

Ste novi v načrtovalcu opravil cron in želite zagnati opravilo vsakih 30 sekund? Na žalost cron tega ne omogoča. Ne morete načrtovati izvajanja opravila cron vsakih x sekund. Cron podpira le časovni interval najmanj 60 sekund (tj. 1 minuto). Če želite izvajati opravilo cron vsakih 30 sekund, morate uporabiti trik, ki smo ga razložili spodaj.

V tem priročniku bomo obravnavali tudi številne druge primere izvajanja opravila ali ukaza ali skripta vsakih x sekund. Začnimo pa s tem, kako zagnati opravilo cron vsakih 30 sekund v Linuxu.

Zaženite Cron Job vsakih 30 sekund v Linuxu

Če želite doseči zgornjo nalogo, ustvarite dva vnosa v crontab. Prvo opravilo bo zagnalo datumski ukaz po vsaki minuti (60 sekund), nato pa drugi vnos uporabi ukaz spanja za zakasnitev za določen čas (30 sekund v tem primeru) in znova prikliče datumski ukaz.

V crontab (cron tabela) morate dodati naslednje vnose in jo odpreti za urejanje z naslednjim ukazom crontab (zastavica -e omogoča urejanje):

# crontab -e

V datoteko dodajte naslednje vnose cron.

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

Če zdaj preverite vsebino datoteke /tmp/date.log, bi morali videti, da se ukaz za datum izvaja vsakih 30 sekund. Uporabimo lahko ukaz cat za ogled datoteke in preverjanje časovnega stolpca za potrditev, kot sledi:

$ cat /tmp/date.log

Prav tako lahko spremljate posodabljanje datoteke v realnem času. Če želite to narediti, uporabite ukaz tail z zastavico -f.

$ tail -f /tmp/date.log

Zaženite Cron Job vsakih 10 sekund v Linuxu

Oglejmo si več primerov. Ta prikazuje, kako zagnati opravilo cron vsakih 10 sekund. Trik je v tem, da se preprosto poigrate s številom sekund ukaza za spanje:

* * * * * 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

Še enkrat, če gledamo datoteko /tmp/date.log, jo je treba posodobiti vsakih 10 sekund glede na zgornje vnose v crontab:

$ tail -f  /tmp/date.log

Tukaj je še en primer izvajanja ukaza datum po vsakih 15 sekundah:

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

Končno, če želite zagnati opravilo cron vsakih 20 sekund, lahko imate nekaj takega:

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

Tukaj je tudi več člankov, da se naučite razporejanja opravil z uporabo cron-a:

  • Kako ustvariti in upravljati opravila Cron v sistemu Linux
  • Cron proti Anacronu: Kako načrtovati opravila z Anacronom v sistemu Linux

Zdaj veste! Pokazali smo vam različne primere izvajanja opravila cron vsakih x sekund v Linuxu. Za več informacij preberite man strani cron (z izvajanjem ukazov man cron in man crontab).

Če poznate kakšne uporabne nasvete ali trike za ukaz cron, jih delite v spodnjih komentarjih.