Linux-da Kron işlerini nädip döretmeli we dolandyrmaly


ätiýaçlyk meselelerini awtomatlaşdyrmak, katalogy arassalamak, habarnamalar we ş.m.

Kron işleri fonda işleýär we /etc/crontab faýly we /etc/cron.*/ we /var/spool/cron/ kataloglary. Kron faýllaryny gönüden-göni redaktirlemeli däl we her ulanyjynyň özboluşly gabygy bar.

Onda nädip kron işlerini döretmeli we redaktirlemeli? “Crontab” buýruklary bilen. “Crontab” kron işlerini döretmek, redaktirlemek, gurmak, aýyrmak we sanawlaşdyrmak üçin ulanýan usulyňyzdyr.

Kron işlerini döretmek we redaktirlemek buýrugy birmeňzeş we ýönekeý. Has gowusy, täze faýllar döredilenden ýa-da bar bolanlary redaktirläniňizden soň krony täzeden açmagyň zerurlygy ýok.

$ crontab -e

Kron sintaksis

Islendik dilde bolşy ýaly, sintaksisine düşüneniňizde kron bilen işlemek has aňsat we bilmeli 2 formatyňyz bar:

A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Aboveokardaky kron sintaksisiniň düşündirişi:

  • A: Minutlaryň aralygy: 0 - 59
  • B: Sagat aralygy: 0 - 23
  • C: Günleriň aralygy: 0 - 31
  • D: Aýlaryň aralygy: 0 - 12
  • E: Hepdäniň günleri: 0 - 7. Duşenbe gününden başlap, 0 ýa-da 7 ýekşenbäni aňladýar
  • Ulanyjy ady: muny ulanyjy adyňyz bilen çalyşyň
  • /path/to/command - meýilleşdirmek isleýän skriptiň ýa-da buýrugyň ady

Bularyň hemmesi däl. Kron, bir meýdanda birnäçe bahany kesgitlemäge mümkinçilik berýän 3 operator nyşanyny ulanýar:

  1. Asterisk (*) : meýdan üçin mümkin bolan ähli bahalary kesgitleýär
  2. vergul (,) : bahalaryň sanawyny kesgitleýär
  3. Dash (-) : bahalaryň diapazonyny kesgitleýär
  4. Aýyryjy (/) : ädim bahasyny kesgitleýär

Kronyň sintaksisini we operatorlaryny bilýän bolsaňyz, geliň käbir kron mysallaryny göreliň.

Kron iş mysallary

“Cron” buýruklaryny işletmek üçin ilkinji ädim, “crontab” -yňyzy buýruk bilen gurmakdyr:

# crontab -e

Her gün irden sagat 3-de /root/backup.sh işlediň:

0 3 * * * /root/backup.sh

Her aýyň ikinji güni agşam sagat 4:30 script.sh işlediň:

30 16 2 * * /path/to/script.sh

Hepdäniň dowamynda agşam 10-da /scripts/phpscript.php işlediň:

0 22 * * 1-5 /scripts/phpscript.php

perlscript.pl ýarym gijeden soň 23 minutdan, irden 2-den we irden 4-den işlediň:

23 0-23/2 * * * /path/to/perlscript.pl

Linux buýrugyny her ýekşenbe güni 04: 05-de işlediň:

5 4 * * sun /path/to/linuxcommand

Kron görnüşleri

Kron işleriniň sanawyny.

# crontab -l
OR
# crontab -u username -l

Crontab işleriniň hemmesini pozuň.

# crontab -r

Belli bir ulanyjy üçin Cron işini pozuň.

# crontab -r -u username

Crontabdaky setirler

Setirler döredijiniň halaýan zatlarynyň arasynda, sebäbi gaýtalanýan ýazgyny ýok etmek bilen wagt tygşytlamaga kömek edýär. Kronyň buýruklary has çalt döretmek üçin ulanyp boljak aýratyn setirleri bar:

  1. @hourly : Her sagatda bir gezek işlediň, ýagny “0 * * * *“
  2. @midnight : Her gün bir gezek işlediň, ýagny “0 0 * * *“
  3. @daily : ýary gije bilen deňdir
  4. @weekly : Hepdede bir gezek işlediň, ýagny 0 0 * * 0
  5. @monthly : Aýda bir gezek işlediň, ýagny “0 0 1 * *“
  6. @ annally : Her ýylda bir gezek işlediň, ýagny “0 0 1 1 *“
  7. @yearly : @annual
  8. bilen birmeňzeş
  9. @reboot : Her başlangyçda bir gezek işlediň

Mysal üçin, ulgamyňyzy her gün nädip ätiýaçlamaly:

@daily /path/to/backup/script.sh

Bu pursatda, “Cron” -y ulanyp ulgam meselelerini döretmek we dolandyrmak üçin zerur zatlar bar. Indi meýilleşdirilen buýruklary ulanyp birnäçe gurşawy gurup we saklap bilersiňiz.

“Cron” ulanyjysynyň näçesi? Makala goşant goşup biljek jikme-jiklikleriňiz barmy? Ara alyp maslahatlaşmak gutusy aşakda.

“Crontab” -yň işleýşine ýeterlik düşüneniňizde, “Crontab” generator enjamlaryny mugt ulanyp bilersiňiz.

Şeýle hem, “Ubuntu” -nyň “Cron” -y nädip ulanmalydygy baradaky makalasyny şu ýerden okap bilersiňiz. Peýdaly bolup biljek çeşmeleriňiz bar.