Cron Vs Anacron: Hvernig á að skipuleggja störf með því að nota Anacron á Linux


Í þessari grein munum við útskýra cron og anacron og sýna þér einnig hvernig á að setja upp anacron á Linux. Við munum líka fara yfir samanburð á þessum tveimur veitum.

Til að skipuleggja verkefni á tilteknum tíma eða síðar geturðu notað „at“ eða „lotu“ skipanirnar og til að setja upp skipanir til að keyra ítrekað geturðu notað cron og anacron aðstöðuna.

Cron – er púki sem notaður er til að keyra áætluð verkefni eins og öryggisafrit af kerfinu, uppfærslur og margt fleira. Það er hentugur til að keyra áætlað verkefni á vélum sem munu keyra stöðugt 24X7 eins og netþjóna.

Skipanirnar/verkefnin eru skrifuð í cron störf sem eru tímasett í crontab skrám. Sjálfgefin kerfis crontab skrá er /etc/crontab, en hver notandi getur líka búið til sína eigin crontab skrá sem getur ræst skipanir á tímum sem notandinn skilgreinir.

Til að búa til persónulega crontab skrá skaltu einfaldlega slá inn eftirfarandi:

$ crontab -e

Hvernig á að setja upp Anacron í Linux

Anacron er notað til að keyra skipanir reglulega með tíðni sem er skilgreind í dögum. Það virkar svolítið öðruvísi en cron; gerir ráð fyrir að ekki sé alltaf kveikt á vél.

Það er viðeigandi til að keyra dagleg, vikuleg og mánaðarleg áætluð störf sem venjulega eru rekin af cron, á vélum sem keyra ekki 24-7 eins og fartölvur og borðtölvur.

Að því gefnu að þú sért með áætlað verkefni (eins og öryggisafrit) til að keyra með cron á miðnætti, hugsanlega þegar þú ert sofandi og slökkt er á skjáborðinu/fartölvunni fyrir þann tíma. Afritunarforskriftin þín verður ekki keyrð.

Hins vegar, ef þú notar anacron, geturðu verið viss um að næst þegar þú kveikir á skjáborðinu/fartölvunni aftur, verður öryggisafritið keyrt.

Hvernig Anacron virkar í Linux

anacron störf eru skráð í /etc/anacrontab og hægt er að skipuleggja störf með því að nota sniðið hér að neðan (athugasemdir í anacrontab skrá verða að byrja á #).

period   delay   job-identifier   command

Frá ofangreindu sniði:

  • tímabil – þetta er tíðni framkvæmda sem tilgreind er í dögum eða sem @daglega, @vikulega eða @mánaðarlega einu sinni á dag, viku eða mánuði. Þú getur líka notað tölur: 1 – daglega, 7 – vikulega, 30 – mánaðarlega og N – fjölda daga.
  • töf – það er fjöldi mínútna sem þarf að bíða áður en verk er framkvæmt.
  • vinnuauðkenni – það er sérstakt nafn fyrir starfið sem er skrifað í annálaskrár.

Til að skoða dæmi skrár skaltu slá inn:

$ ls -l /var/spool/anacron/

total 12
-rw------- 1 root root 9 Jun  1 10:25 cron.daily
-rw------- 1 root root 9 May 27 11:01 cron.monthly
-rw------- 1 root root 9 May 30 10:28 cron.weekly

  • skipun – það er skipunin eða skeljaforskriftin sem á að framkvæma.

  • Anacron mun athuga hvort verk hafi verið framkvæmt innan tilgreinds tímabils í tímabilsreitnum. Ef ekki, framkvæmir það skipunina sem tilgreind er í skipanareitnum eftir að hafa beðið þann fjölda mínútna sem tilgreindur er í seinkareitnum.
  • Þegar verkið hefur verið keyrt skráir það dagsetninguna í tímastimplaskrá í /var/spool/anacron möppunni með nafninu sem tilgreint er í starfsauðkenni (timestamp file name) reitnum.

Við skulum nú líta á dæmi. Þetta mun keyra /home/aaronkilik/bin/backup.sh forskriftina daglega:

@daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh

Ef slökkt er á vélinni þegar búist er við að backup.sh verkið gangi, mun anacron keyra það 10 mínútum eftir að kveikt er á vélinni án þess að þurfa að bíða í 7 daga í viðbót.

Það eru tvær mikilvægar breytur í anacrontab skránni sem þú ættir að skilja:

  • START_HOURS_RANGE – þetta stillir tímabil þar sem störf verða hafin (þ.e. framkvæma störf eingöngu á næstu klukkustundum).
  • RANDOM_DELAY – þetta skilgreinir hámarks töf af handahófi sem bætt er við notendaskilgreinda seinkun verks (sjálfgefið er það 45).

Svona myndi anacrontab skráin þín mögulega líta út.

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root

# These replace cron's entries
1       5       cron.daily      run-parts --report /etc/cron.daily
7       10      cron.weekly     run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly    run-parts --report /etc/cron.monthly

@daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh                                                                      

Eftirfarandi er samanburður á cron og anacron til að hjálpa þér að skilja hvenær á að nota annað hvort þeirra.

Helsti munurinn á cron og anacron er að cron virkar á áhrifaríkan hátt á vélum sem munu keyra stöðugt á meðan anacron er ætlað fyrir vélar sem verður slökkt á einum degi eða viku.

Ef þú veist aðra leið, deildu með okkur með því að nota athugasemdareyðublaðið hér að neðan.