11 Croni ajastamise ülesande näited Linuxis


Selles artiklis vaatame üle ja näeme, kuidas saame Crontabi käsu abil taustal toimuvaid ülesandeid automaatselt regulaarsete ajavahemike järel ajastada ja käivitada. Sagedase töö käsitsi käsitlemine on süsteemiadministraatori jaoks hirmutav ülesanne. Sellist protsessi saab ajastada ja käivitada automaatselt taustal ilma inimese sekkumiseta, kasutades croni deemonit Linuxis või Unixi-laadses operatsioonisüsteemis.

Näiteks saate automatiseerida protsessi nagu varundamine, ajakohastada värskendusi ja failide sünkroonimist ning palju muud. Cron on ajakava ülesannete käitamise deemon. Cron ärkab iga minut ja kontrollib graafikuülesandeid crontable'is. Crontab (CRON TABle) on tabel, kuhu saame ajastada selliseid korduvaid ülesandeid.

Nõuanded: igal kasutajal võib olla oma crontab ülesannete loomiseks, muutmiseks ja kustutamiseks. Vaikimisi on cron kasutajatele lubatud, kuid me võime piirata kirje lisamist faili /etc/cron.deny.

Crontabi fail koosneb käsust rea kohta ja sellel on kuus välja, mis on eraldatud kas tühikust või sakist. Viis esimest välja tähistavad ülesannete käivitamise aega ja viimane väli on käsk.

  1. Minut (väärtuste hoidmine vahemikus 0–59)
  2. tund (hoidke väärtusi vahemikus 0–23)
  3. Kuu päev (hoidke väärtusi vahemikus 1–31)
  4. Aasta kuu (hoidke väärtusi vahemikus 1–12 või jaanuar – detsember, saate kasutada iga kuu kolme esimest tähte, st jaanuar või juuni)
  5. Nädalapäev (hoidke väärtusi vahemikus 0–6 või P – L, siin saate kasutada ka iga päeva kolme esimest tähte, st P või K)
  6. käsk

Lisage loend või hallake ülesannet käsuga crontab koos võimalusega -l praegusele kasutajale.

# crontab -l

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

Crontab-sisestuse muutmiseks kasutage allpool näidatud valikut -e. Allpool toodud näites avatakse ajakava töö VI redaktoris. Tehke vajalikud muudatused ja lõpetage vajutamine: wq-klahvid, mis salvestab seade automaatselt.

# crontab -e

Konkreetse kasutaja nimega tecmint ajastatud tööde loendamiseks valikute -u (Kasutaja) ja -l (Loend) abil.

# crontab -u tecmint -l

no crontab for tecmint

Märkus. Ainult juurkasutajal on täielikud õigused näha teiste kasutajate kirjet. Tavakasutaja ei saa seda teistele vaadata.

Ettevaatust: Parameeter Crontab parameetriga -r eemaldab kõik plaanitud tööd ilma crontabilt kinnitust saamata. Kasutage enne kasutaja crontabi kustutamist valikut -i.

# crontab -r

crontab koos -i valikuga küsib enne kasutaja crontabi kustutamist kasutajalt kinnitust.

# crontab -i -r

crontab: really delete root's crontab?

  1. Asterik (*) - sobitage kõik selle välja väärtused või võimalikud väärtused.
  2. sidekriips (-) - vahemiku määratlemiseks.
  3. Kaldkriips (/) - 1. väli/10, mis tähendab iga kümne minuti tagant või vahemiku suurendamist.
  4. Koma (,) - üksuste eraldamiseks.

Süsteemiadministraator saab kasutada croni kataloogi eelmääratlust, nagu allpool näidatud.

  1. /etc/cron.d
  2. /etc/cron.daily
  3. /etc/cron.tunni
  4. /etc/cron.kuud
  5. /etc/cron.nädalaselt

Allolevad tööd kustutavad tühjad failid ja kataloogid/tmp-st iga päev kell 12.30. Crontabi käsu täitmiseks peate mainima kasutajanime. Allolevas näites täidab juurkasutaja croni tööd.

# crontab -e

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

Kui soovite sama kasutada, peate viie croni käsu välja asendama märksõnaga.

Allpool on näiteks käsud1 ja käsk2 käivitatud iga päev.

# crontab -e

@daily <command1> && <command2>

Vaikimisi saadab cron kirju cronjob'i teostavale kasutajakontole. Kui soovite selle keelata, lisage oma croni töö sarnaselt allpool toodud näitega. Valiku>/dev/null 2> & 1 kasutamine faili lõpus suunab kogu croni tulemuse väljundi alla/dev/null.

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

järeldus: ülesannete automatiseerimine võib aidata meil oma ülesannet paremini, vigadeta ja tõhusalt täita. Lisateabe saamiseks võite vaadata crontabi käsiraamatut, sisestades oma terminali käsu "man crontab".