Cron Vs Anacron: Giunsa ang Pag-iskedyul sa mga Trabaho Gamit ang Anacron sa Linux


Niini nga artikulo, among ipasabut ang cron ug anacron ug gipakita usab kanimo kung giunsa ang pag-setup sa anacron sa Linux. Atong hisgotan usab ang pagtandi niining duha ka mga utilities.

Sa pag-iskedyul sa usa ka buluhaton sa gihatag o sa ulahi nga oras, mahimo nimong gamiton ang 'sa' o 'batch' nga mga mando ug aron ma-set up ang mga mando nga padaganon nga balik-balik, mahimo nimong gamiton ang mga pasilidad sa cron ug anacron.

Cron – usa ka daemon nga gigamit sa pagpadagan sa mga naka-iskedyul nga buluhaton sama sa pag-backup sa sistema, pag-update ug daghan pa. Angayan kini sa pagpadagan sa mga naka-iskedyul nga buluhaton sa mga makina nga padayong modagan 24X7 sama sa mga server.

Ang mga sugo/mga buluhaton gi-script sa mga cron nga trabaho nga naka-iskedyul sa crontab files. Ang default system crontab file mao ang /etc/crontab, apan ang matag user makahimo usab sa ilang kaugalingon nga crontab file nga makalunsad og mga command sa mga panahon nga gihubit sa user.

Aron makahimo og personal nga crontab file, i-type lang ang mosunod:

$ crontab -e

Giunsa ang Pag-setup sa Anacron sa Linux

Ang anacron gigamit sa pagpadagan sa mga sugo matag karon ug unya nga adunay frequency nga gihubit sa mga adlaw. Kini nagtrabaho nga usa ka gamay nga lahi gikan sa cron; nagtuo nga ang usa ka makina dili paandaron sa tanang panahon.

Angayan alang sa pagpadagan sa adlaw-adlaw, sinemana, ug binulan nga naka-iskedyul nga mga trabaho nga kasagarang gipadagan sa cron, sa mga makina nga dili modagan sa 24-7 sama sa mga laptop ug mga desktop machine.

Sa pag-ingon nga ikaw adunay naka-iskedyul nga buluhaton (sama sa usa ka backup nga script) nga ipadagan gamit ang cron matag tungang gabii, posible kung ikaw natulog, ug ang imong desktop/laptop wala na nianang panahona. Ang imong backup nga script dili ipatuman.

Bisan pa, kung mogamit ka og anacron, makasalig ka nga sa sunod higayon nga magamit nimo pag-usab ang desktop/laptop, ang backup nga script ipatuman.

Giunsa Naglihok ang Anacron sa Linux

Ang anacron nga mga trabaho gilista sa /etc/anacrontab ug ang mga trabaho mahimong ma-iskedyul gamit ang pormat sa ubos (ang mga komento sulod sa anacrontab file kinahanglang magsugod sa #).

period   delay   job-identifier   command

Gikan sa ibabaw nga pormat:

  • period – kini ang kasubsob sa pagpatuman sa trabaho nga gipiho sa mga adlaw o isip @daily, @weekly, o @monthly sa makausa kada adlaw, semana, o bulan. Mahimo usab nimong gamiton ang mga numero: 1 – adlaw-adlaw, 7 – kada semana, 30 – binulan ug N – gidaghanon sa mga adlaw.
  • paglangan – kini ang gidaghanon sa mga minuto nga paghulat sa dili pa ipatuman ang usa ka trabaho.
  • job-id – kini ang lahi nga ngalan sa trabaho nga gisulat sa log files.

Aron makita ang mga pananglitan nga mga file, i-type ang:

$ 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

  • command – kini ang command o shell script nga ipatuman.

  • Anacron mosusi kon ang usa ka trabaho nahimo na sulod sa gitakda nga panahon sa period field. Kung dili, kini magpatuman sa sugo nga gitakda sa command field human sa paghulat sa gidaghanon sa mga minuto nga gitakda sa delay field.
  • Kung nahuman na ang trabaho, kini nagrekord sa petsa sa usa ka timestamp file sa /var/spool/anacron nga direktoryo nga adunay ngalan nga gitakda sa job-id (timestamp file name) field.

Atong tan-awon karon ang usa ka pananglitan. Kini modagan sa /home/aaronkilik/bin/backup.sh script kada adlaw:

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

Kung ang makina gipalong kung ang backup.sh nga trabaho gilauman nga modagan, ang anacron modagan kini 10 minuto pagkahuman ang makina gipaandar nga dili na maghulat pa ug 7 ka adlaw.

Adunay duha ka importante nga mga variable sa anacrontab file nga kinahanglan nimong masabtan:

  • START_HOURS_RANGE – kini nagtakda sa gidugayon sa oras kung asa magsugod ang mga trabaho (pananglitan, pagbuhat og mga trabaho sulod lang sa mosunod nga mga oras).
  • RANDOM_DELAY – kini naghubit sa pinakataas nga random nga paglangan nga gidugang ngadto sa gipiho nga paglangan sa usa ka trabaho (sa default kini 45).

Ingon niini ang hitsura sa imong anacrontab file.

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

Ang mosunud usa ka pagtandi sa cron ug anacron aron matabangan ka nga masabtan kung kanus-a gamiton ang bisan hain niini.

Ang dakong kalainan tali sa cron ug anacron mao nga ang cron epektibong moandar sa mga makina nga padayon nga modagan samtang ang anacron gituyo alang sa mga makina nga mapalong sa usa ka adlaw o semana.

Kung nahibal-an nimo ang bisan unsang paagi, ipaambit kanamo gamit ang porma sa komento sa ubos.