Linux-da 11 kron meýilnamalaşdyryş meselesi


Bu makalada, Crontab buýrugyny ulanyp yzygiderli aralyklarda wezipeleri awtomatiki tertipde nädip tertipläp we işledip boljakdygyny gözden geçireris.

Entlyygy-ýygydan iş bilen el bilen işlemek ulgam dolandyryjylary üçin gaty kyn mesele we şular ýaly meseleler Linux ýa-da Unix ýaly operasiýa ulgamynda kron daemon ulanyp, adam gatyşmazdan fonda awtomatiki meýilleşdirilip we işledilip bilner.

[Şeýle hem halap bilersiňiz: Linux-da Kron işlerini nädip döretmeli we dolandyrmaly]

Mysal üçin, kron işlerini döretmek üçin onlaýn gurallary awtomatlaşdyryp bilersiňiz.

Kron her minutda oýanyp, sanalýan tertipdäki meseleleri barlaýar - Crontab (CRON TABle), şular ýaly gaýtalanýan işleri tertipläp bilýän tablisadyr.

Maslahat: Her bir ulanyjynyň meseleleri döretmek, üýtgetmek we pozmak üçin öz gabygy bolup biler. Düzgüne görä kron ulanyjylara açyk, ýöne /etc/cron.deny faýlyna ýazgy goşmak bilen ulanyjylary çäklendirip bileris.

“Crontab” faýly her setirde buýrukdan ybarat bolup, aslynda alty meýdan bar we boşlukdan ýa-da goýmadan bölünýär. Başlangyç bäş meýdan, işleri ýerine ýetirmek üçin wagty aňladýar we iň soňky meýdan buýruk üçin.

  • Minut (0-59 aralygyndaky bahalary saklaň)
  • Sagat (0-23 aralygyndaky bahalary saklaň)
  • Aý güni (1-31 aralygyndaky bahalary saklaň)
  • ofylyň aýy (1-12-nji ýanwar-dekabr aralygynda bahalary saklaň, her aýyň adynyň ilkinji üç harpyny ulanyp bilersiňiz, ýagny Janan ýa-da Iýun.)
  • Hepdäniň güni (0-6 ýa-da Gün-Sat aralygynda bahalary saklaň, Bu ýerde her günüň adynyň ilkinji üç harpyny, ýagny Gün ýa-da Çarşenbe ulanyp bilersiňiz)
  • Buýruk - meýilleşdirmek isleýän/ýol/to/buýruk ýa-da skript.

Häzirki ulanyjy üçin -l opsiýasy bilen crontab buýrugy bilen meseläni sanaň ýa-da dolandyryň.

# crontab -l

00 10 * * * /bin/ls >/ls.txt

Kontab ýazgysyny redaktirlemek üçin aşakda görkezilişi ýaly -e opsiýasyny ulanyň. Aşakdaky mysalda VI redaktorynda iş tertibi açylar. Zerur üýtgeşmeler giriziň we sazlamany awtomatiki saklaýan : wq düwmelerini basmagy bes ediň.

# crontab -e

Tecmint atly belli bir ulanyjynyň meýilnamalaşdyrylan işlerini -u (Ulanyjy) we -l (Sanaw) görnüşinde ulanyp bilersiňiz.

# crontab -u tecmint -l

no crontab for tecmint

Bellik: Diňe kök ulanyjynyň beýleki ulanyjylaryň kontab ýazgylaryny görmek üçin doly hukuklary bar. Adaty ulanyjylar beýlekileri görüp bilmeýärler.

Üns beriň: -r parametri bolan Crontab, crontab-dan tassyklamazdan doly meýilleşdirilen işleri aýyrar. Ulanyjynyň gabygyny pozmazdan ozal -i opsiýasyny ulanyň.

# crontab -r

-i bilen crontab, ulanyjynyň kronabyny pozmazdan ozal ulanyjydan tassyklamany sorar.

# crontab -i -r

crontab: really delete root's crontab?

  • Asterisk (*) - Meýdandaky ähli bahalary ýa-da mümkin bolan bahalary deňeşdiriň.
  • Hypen (-) - Aralygy kesgitlemek.
  • Slash (/) - 1-nji meýdan/10 her on minutda ýa-da aralyk artmagyny aňladýar.
  • vergul (,) - Aýry-aýry zatlary aýyrmak.

Ulgam dolandyryjysy aşakda görkezilişi ýaly deslapky kron katalogyny ulanyp biler.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.hourly
  • /etc/cron.monthly
  • /etc/cron.weekly

Aşakdaky işler her gün irden 12: 30-da boş faýllary we katalogy/tmp-den pozýar. “Crontab” buýrugyny ýerine ýetirmek üçin ulanyjy adyny bellemeli. Aşakdaky mysalda kök ulanyjy kron işini ýerine ýetirýär.

# crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

Şol bir zady ulanmak isleseňiz, kron buýrugynyň bäş meýdançasyny açar sözler bilen çalyşmaly.

Aşakdaky mysalda, command1 we command2 her gün işleýär.

# crontab -e

@daily <command1> && <command2>

Düzgüne görä, kron kronjob ýerine ýetirýän ulanyjy hasabyna poçta iberýär. Öçürmek isleseňiz, aşakdaky mysala meňzeş kron işiňizi goşuň. Faýlyň soňundaky>/dev/null 2> & 1 opsiýasyny ulanmak, kron netijeleriniň ähli çykyşlaryny/dev/null astynda ugrukdyrar.

 crontab -e
* * * * * >/dev/null 2>&1

Netije: Işleriň awtomatlaşdyrylmagy, wezipelerimizi has ýalňyş, ýalňyşsyz we netijeli ýerine ýetirmäge kömek edip biler. Terminalyňyza “man crontab” buýrugyny ýazyp has giňişleýin maglumat üçin “crontab” -yň el sahypasyna ýüz tutup bilersiňiz.