Kron işini nädip işletmeli Linux-da her 10, 20 we 30 sekuntda


Gysgaça: Kron işini meýilleşdiriji işleriň sekunt aralygynda işlemegini meýilleşdirmegi goldamaýar. Bu makalada, Linux-da her 30 sekuntda ýa-da x sekuntda bir kron işini ýerine ýetirmäge kömek etjek ýönekeý bir hiläni görkezeris.

Kron iş meýilnamasyna täze geldiňizmi we her 30 sekuntda bir iş bilen meşgullanmak isleýärsiňizmi? Gynansagam, kron muňa rugsat bermeýär. Her x sekuntda işlemek üçin kron işini tertipläp bilmersiňiz. Kron diňe azyndan 60 sekunt wagt aralygyny goldaýar (ýagny 1 minut). Her 30 sekuntda bir kron işini ýerine ýetirmek üçin aşakda düşündiren mekirimizi ulanmaly.

Bu gollanmada, bir iş ýa-da buýruk, ýa-da her sekuntda skript ýazmak üçin başga-da köp mysallary açarys. Linuxöne geliň, Linux-da her 30 sekuntda bir kron işini nädip işletmelidigini öwrenmekden başlalyň.

Linux-da her 30 sekuntda Cron işini işlediň

Aboveokardaky meseläni ýerine ýetirmek üçin krontaňda iki ýazgy dörediň. Birinji iş, her minutdan (60 sekunt) soň sene buýrugyny işleder, ikinji ýazgy bolsa belli bir wagta (bu ýagdaýda 30 sekunt) gijikdirmek we sene buýrugyny täzeden çagyrmak üçin uky buýrugyny ulanýar.

Kontabda (kron tablisasy) aşakdaky ýazgylary goşmaly we aşakdaky crontab buýrugyny ulanyp redaktirlemek üçin açmaly ( -e baýdagy redaktirlemäge mümkinçilik berýär):

# crontab -e

Aşakdaky kron ýazgylaryny faýla goşuň.

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

Indi /tmp/date.log faýlynyň mazmunyny barlasaňyz, sene buýrugynyň her 30 sekuntda işleýändigini görmeli. Faýly görmek we tassyklamak üçin wagt sütünini barlamak üçin pişik buýrugyny ulanyp bileris:

$ cat /tmp/date.log

Şeýle hem faýlyň hakyky wagtda täzelenmegine tomaşa edip bilersiňiz. Munuň üçin -f baýdagy bilen guýruk buýrugyny ulanyň.

$ tail -f /tmp/date.log

Linux-da her 10 sekuntda Cron işini işlediň

Geliň has köp mysallara seredeliň. Bu, her 10 sekuntda kron işini nädip işletmelidigini görkezýär. Hile, diňe uky buýrugy sanlary bilen oýnamakdyr:

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

/Tmp/date.log faýlyna ýene bir gezek syn etsek, ýokardaky kontab ýazgylaryna esaslanyp her 10 sekuntda täzelenmeli:

$ tail -f  /tmp/date.log

Ine, her 15 sekuntdan soň sene buýrugyny ýerine ýetirmegiň başga bir mysaly:

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

Netijede, her 20 sekuntda bir kron işini ýerine ýetirmek üçin şuňa meňzeş bir zat bolup biler:

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

Mundan başga-da, kron ulanyp iş meýilnamasyny öwrenmek üçin has köp makalalar bar:

  • Linux-da Kron işlerini nädip döretmeli we dolandyrmaly
  • Cron Vs Anacron: Linux-da Anacron ulanyp, iş meýilnamalaryny nädip düzmeli

Indi bilýärsiň! Linux-da her x sekuntda kron işini ýerine ýetirmek üçin size dürli mysallar görkezdik. Has giňişleýin maglumat üçin kron adam sahypalaryny okaň ( man kron we man crontab buýruklaryny işledip).

Haýsydyr bir peýdaly kron buýruklaryny ýa-da hilelerini bilýän bolsaňyz, aşakdaky teswirlerde paýlaşmagyňyzy haýyş edýäris.