Cron Vs Anacron: Kif Skedar Impjiegi billi tuża Anacron fuq Linux


F'dan l-artikolu, aħna se nispjegaw cron u anacron u nuruk ukoll kif issettja anacron fuq Linux. Aħna se nkopru wkoll paragun ta 'dawn iż-żewġ utilitajiet.

Biex tiskeda kompitu f'ħin mogħti jew aktar tard, tista 'tuża l-kmandi 'fi' jew 'lott' u biex twaqqaf kmandi biex jaħdmu ripetutament, tista' timpjega l-faċilitajiet cron u anacron.

Cron - huwa daemon użat biex imexxi kompiti skedati bħal backups tas-sistema, aġġornamenti u ħafna aktar. Huwa adattat għat-tmexxija tal-kompiti skedati fuq magni li jaħdmu kontinwament 24X7 bħal servers.

Il-kmandi/kompiti huma skritti f'impjiegi cron li huma skedati fil-fajls crontab. Il-fajl crontab tas-sistema default huwa /etc/crontab, iżda kull utent jista 'wkoll joħloq il-fajl crontab tiegħu stess li jista' jniedi kmandi f'ħinijiet li jiddefinixxi l-utent.

Biex toħloq fajl crontab personali, sempliċement ittajpja dan li ġej:

$ crontab -e

Kif Twaqqaf Anacron fil-Linux

Anacron jintuża biex imexxi kmandi perjodikament bi frekwenza definita fi ġranet. Jaħdem ftit differenti minn cron; jassumi li magna mhux se tkun mixgħula l-ħin kollu.

Huwa xieraq għat-tħaddim ta' impjiegi skedati ta' kuljum, kull ġimgħa u kull xahar li normalment jitmexxew minn cron, fuq magni li mhux se jaħdmu 24-7 bħal laptops u magni desktops.

Jekk wieħed jassumi li għandek biċċa xogħol skedata (bħal skript ta' backup) li trid titħaddem bl-użu ta' cron kull nofsillejl, possibilment meta torqod, u d-desktop/laptop tiegħek ikun mitfi sa dak il-ħin. L-iskript tal-backup tiegħek mhux se jiġi eżegwit.

Madankollu, jekk tuża anacron, tista 'tkun ċert li l-ħin li jmiss li terġa' tixgħel id-desktop/laptop, l-iskript tal-backup jiġi esegwit.

Kif jaħdem Anacron fil-Linux

l-impjiegi anacron huma elenkati f'/etc/anacrontab u l-impjiegi jistgħu jiġu skedati bl-użu tal-format hawn taħt (il-kummenti fil-fajl anacrontab għandhom jibdew b'#).

period   delay   job-identifier   command

Mill-format ta' hawn fuq:

  • perjodu – din hija l-frekwenza tal-eżekuzzjoni tax-xogħol speċifikata fi ġranet jew bħala @kuljum, @kull ġimgħa, jew @kull xahar għal darba kuljum, ġimgħa jew xahar. Tista' wkoll tuża n-numri: 1 – kuljum, 7 – kull ġimgħa, 30 – kull xahar u N – numru ta' ġranet.
  • dewmien – huwa n-numru ta’ minuti biex tistenna qabel ma tesegwixxi xogħol.
  • job-id – huwa l-isem distintiv għax-xogħol miktub fil-log files.

Biex tara fajls ta' eżempju, ittajpja:

$ 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

  • kmand – huwa l-kmand jew l-iskript tal-qoxra li għandu jiġi esegwit.

  • Anacron se jiċċekkja jekk xogħol ġiex eżegwit fil-perjodu speċifikat fil-qasam tal-perjodu. Jekk le, tesegwixxi l-kmand speċifikat fil-qasam tal-kmand wara li tistenna n-numru ta 'minuti speċifikat fil-qasam tad-dewmien.
  • Ladarba l-biċċa tax-xogħol ikun ġie eżegwit, jirreġistra d-data f'fajl tat-timestamp fid-direttorju /var/spool/anacron bl-isem speċifikat fil-qasam tal-id tax-xogħol (timestamp file name).

Ejja issa nħarsu lejn eżempju. Dan se jmexxi l-iscript /home/aaronkilik/bin/backup.sh kuljum:

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

Jekk il-magna tkun mitfija meta x-xogħol backup.sh huwa mistenni li jaħdem, anacron se jħaddem 10 minuti wara li l-magna tkun mixgħula mingħajr ma jkollok tistenna għal 7 ijiem oħra.

Hemm żewġ varjabbli importanti fil-fajl anacrontab li għandek tifhem:

  • START_HOURS_RANGE – dan jistabbilixxi medda ta’ ħin li fiha l-impjiegi se jibdew (jiġifieri tesegwixxi l-impjiegi matul is-sigħat ta’ wara biss).
  • RANDOM_DELAY – dan jiddefinixxi d-dewmien massimu każwali miżjud mad-dewmien definit mill-utent ta’ xogħol (b’mod awtomatiku huwa 45).

Dan huwa kif il-fajl anacrontab tiegħek possibbilment ikun jidher.

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

Dan li ġej huwa paragun ta 'cron u anacron biex jgħinek tifhem meta tuża xi waħda minnhom.

Id-differenza ewlenija bejn cron u anacron hija li cron jaħdem b'mod effettiv fuq magni li se jaħdmu kontinwament filwaqt li anacron huwa maħsub għal magni li se jitfi f'ġurnata jew ġimgħa.

Jekk taf xi mod ieħor, aqsam magħna billi tuża l-formola tal-kummenti hawn taħt.