Cron Vs Anacron: Yadda ake Tsara Ayyuka Ta amfani da Anacron akan Linux


A cikin wannan labarin, za mu bayyana cron da anacron kuma za mu nuna muku yadda ake saita anacron akan Linux. Za mu kuma rufe kwatancen waɗannan abubuwan amfani guda biyu.

Don tsara ɗawainiya akan lokacin da aka ba ko daga baya, zaku iya amfani da umarnin 'a' ko 'batch' kuma don saita umarni don gudana akai-akai, zaku iya amfani da wuraren cron da anacron.

Cron - shi ne daemon da ake amfani da shi don gudanar da ayyukan da aka tsara kamar su madadin tsarin, sabuntawa da ƙari mai yawa. Ya dace don gudanar da ayyukan da aka tsara akan na'urori waɗanda za su ci gaba da gudana 24X7 kamar sabobin.

An rubuta umarnin/ayyukan cikin ayyukan cron waɗanda aka tsara a cikin fayilolin crontab. Fayil ɗin crontab na tsoho shine /etc/crontab, amma kowane mai amfani kuma yana iya ƙirƙirar fayil ɗin crontab na kansa wanda zai iya ƙaddamar da umarni a lokutan da mai amfani ya bayyana.

Don ƙirƙirar fayil na crontab, kawai rubuta mai zuwa:

$ crontab -e

Yadda ake saita Anacron a cikin Linux

Ana amfani da Anacron don gudanar da umarni lokaci-lokaci tare da mitar da aka ayyana cikin kwanaki. Yana aiki dan bambanta da cron; yana ɗaukan cewa ba za a iya kunna na'ura a kowane lokaci ba.

Ya dace don gudanar da ayyukan yau da kullun, mako-mako, da kowane wata wanda cron ke gudanarwa akai-akai, akan injunan da ba za su yi aiki ba 24-7 kamar kwamfyutoci da na'urorin tebur.

Tsammanin kuna da aikin da aka tsara (kamar rubutun madadin) da za a gudanar ta amfani da cron kowane tsakar dare, maiyuwa lokacin da kuke barci, kuma tebur ɗin ku/kwamfutar tafi-da-gidanka ya ƙare a lokacin. Ba za a aiwatar da rubutun madadin ku ba.

Koyaya, idan kuna amfani da anacron, ana iya tabbatar muku cewa lokacin da kuka sake kunna kwamfutar tafi-da-gidanka/kwamfutar tafi-da-gidanka, za a aiwatar da rubutun madadin.

Yadda Anacron ke aiki a Linux

Ana jera ayyukan anacron a cikin/sauransu/anacrontab kuma ana iya tsara ayyukan ta amfani da tsarin da ke ƙasa (maganganun cikin fayil ɗin anacrontab dole ne su fara da #).

period   delay   job-identifier   command

Daga tsarin da ke sama:

  • lokaci - wannan shine yawan aiwatar da aikin da aka ƙayyade a cikin kwanaki ko kamar yadda @daily, @weekly, ko @watanni sau ɗaya a rana, sati, ko wata. Hakanan zaka iya amfani da lambobi: 1 - kullun, 7 - mako-mako, 30 - kowane wata da N - adadin kwanakin.
  • jinkirta - shine adadin mintuna don jira kafin aiwatar da aiki.
  • aikin-id - sunan keɓaɓɓen sunan aikin da aka rubuta a cikin fayilolin log.

Don duba fayilolin misali, rubuta:

$ 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

  • umurni - umarni ne ko rubutun harsashi da za a aiwatar.

    Anacron zai bincika idan an aiwatar da aiki a cikin ƙayyadadden lokacin a cikin filin lokaci. Idan ba haka ba, yana aiwatar da umarnin da aka ƙayyade a cikin filin umarni bayan jira adadin mintuna da aka ƙayyade a cikin filin jinkiri.
  • Da zarar an aiwatar da aikin, sai ta rubuta kwanan wata a cikin fayil ɗin timestamp a cikin /var/spool/anacron directory tare da sunan da aka ƙayyade a cikin filin aiki-id (namestamp filename).

Bari yanzu mu kalli misali. Wannan zai gudanar da rubutun /home/aaronkilik/bin/backup.sh kowace rana:

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

Idan injin yana kashe lokacin da ake sa ran aikin backup.sh zai gudana, anacron zai yi aiki da shi mintuna 10 bayan an kunna na'urar ba tare da jira wasu kwanaki 7 ba.

Akwai mahimman maɓalli guda biyu a cikin fayil ɗin anacrontab waɗanda yakamata ku fahimta:

  • START_HOURS_RANGE - wannan yana saita kewayon lokacin da za'a fara ayyukan (watau aiwatar da ayyuka a cikin sa'o'i masu zuwa kawai).
  • RANDOM_DELAY - wannan yana bayyana matsakaicin matsakaicin bazuwar jinkirin da aka ƙara zuwa ma'anar jinkirin aiki mai amfani (ta tsohuwa 45 ne).

Wannan shine yadda fayil ɗin anacrontab zai yi kama.

# /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                                                                      

Mai zuwa shine kwatancen cron da anacron don taimaka muku fahimtar lokacin amfani da ɗayansu.

Babban bambanci tsakanin cron da anacron shine cewa cron yana aiki yadda ya kamata akan injinan da za su ci gaba da gudana yayin da anacron aka yi niyya don injunan da za a kashe a cikin kwana ɗaya ko mako.

Idan kun san kowace hanya, raba tare da mu ta amfani da fom ɗin sharhi da ke ƙasa.