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.