ക്രോൺ Vs അനാക്രോൺ: ലിനക്സിൽ അനാക്രോൺ ഉപയോഗിച്ച് ജോലികൾ എങ്ങനെ ഷെഡ്യൂൾ ചെയ്യാം


ഈ ലേഖനത്തിൽ, ഞങ്ങൾ ക്രോണും അനാക്രോണും വിശദീകരിക്കും കൂടാതെ ലിനക്സിൽ അനക്രോൺ എങ്ങനെ സജ്ജീകരിക്കാമെന്നും കാണിക്കും. ഈ രണ്ട് യൂട്ടിലിറ്റികളുടെ താരതമ്യവും ഞങ്ങൾ കവർ ചെയ്യും.

തന്നിരിക്കുന്ന സമയത്തോ പിന്നീടുള്ള സമയത്തോ ഒരു ടാസ്uക് ഷെഡ്യൂൾ ചെയ്യുന്നതിന്, നിങ്ങൾക്ക് 'at' അല്ലെങ്കിൽ 'ബാച്ച്' കമാൻഡുകൾ ഉപയോഗിക്കാനും ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുന്നതിന് കമാൻഡുകൾ സജ്ജീകരിക്കാനും നിങ്ങൾക്ക് ക്രോൺ, അനാക്രോൺ സൗകര്യങ്ങൾ ഉപയോഗിക്കാം.

ക്രോൺ - സിസ്റ്റം ബാക്കപ്പുകൾ, അപ്uഡേറ്റുകൾ എന്നിവയും അതിലേറെയും പോലുള്ള ഷെഡ്യൂൾ ചെയ്ത ജോലികൾ പ്രവർത്തിപ്പിക്കാൻ ഉപയോഗിക്കുന്ന ഒരു ഡെമൺ ആണ്. സെർവറുകൾ പോലെ 24X7 തുടർച്ചയായി പ്രവർത്തിക്കുന്ന മെഷീനുകളിൽ ഷെഡ്യൂൾ ചെയ്ത ജോലികൾ പ്രവർത്തിപ്പിക്കുന്നതിന് ഇത് അനുയോജ്യമാണ്.

ക്രോണ്ടാബ് ഫയലുകളിൽ ഷെഡ്യൂൾ ചെയ്uതിരിക്കുന്ന ക്രോൺ ജോലികളിലേക്ക് കമാൻഡുകൾ/ടാസ്uക്കുകൾ സ്uക്രിപ്റ്റ് ചെയ്uതിരിക്കുന്നു. സ്ഥിരസ്ഥിതി സിസ്റ്റം crontab ഫയൽ /etc/crontab ആണ്, എന്നാൽ ഓരോ ഉപയോക്താവിനും അവരുടേതായ crontab ഫയൽ സൃഷ്ടിക്കാൻ കഴിയും, അത് ഉപയോക്താവ് നിർവചിക്കുന്ന സമയങ്ങളിൽ കമാൻഡുകൾ സമാരംഭിക്കാൻ കഴിയും.

ഒരു വ്യക്തിഗത ക്രോണ്ടാബ് ഫയൽ സൃഷ്uടിക്കുന്നതിന്, ഇനിപ്പറയുന്നവ ടൈപ്പ് ചെയ്യുക:

$ crontab -e

ലിനക്സിൽ അനാക്രോൺ എങ്ങനെ സജ്ജീകരിക്കാം

ദിവസങ്ങളിൽ നിർവചിച്ചിരിക്കുന്ന ആവൃത്തിയിൽ ആനുകാലികമായി കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കാൻ Anacron ഉപയോഗിക്കുന്നു. ഇത് ക്രോണിൽ നിന്ന് അല്പം വ്യത്യസ്തമായി പ്രവർത്തിക്കുന്നു; ഒരു യന്ത്രം എല്ലായ്uപ്പോഴും ഓൺ ചെയ്യപ്പെടില്ലെന്ന് അനുമാനിക്കുന്നു.

ലാപ്uടോപ്പുകൾ, ഡെസ്uക്uടോപ്പ് മെഷീനുകൾ എന്നിവ പോലെ 24-7 വരെ പ്രവർത്തിക്കാത്ത മെഷീനുകളിൽ സാധാരണയായി ക്രോൺ നടത്തുന്ന ദൈനംദിന, പ്രതിവാര, പ്രതിമാസ ഷെഡ്യൂൾ ചെയ്ത ജോലികൾ പ്രവർത്തിപ്പിക്കുന്നതിന് ഇത് അനുയോജ്യമാണ്.

എല്ലാ അർദ്ധരാത്രിയിലും ക്രോൺ ഉപയോഗിച്ച് പ്രവർത്തിപ്പിക്കാൻ നിങ്ങൾക്ക് ഷെഡ്യൂൾ ചെയ്ത ഒരു ടാസ്uക് (ബാക്കപ്പ് സ്uക്രിപ്റ്റ് പോലുള്ളവ) ഉണ്ടെന്ന് കരുതുക, ഒരുപക്ഷേ നിങ്ങൾ ഉറങ്ങുമ്പോൾ, ഡെസ്uക്uടോപ്പ്/ലാപ്uടോപ്പ് ഓഫായിരിക്കുമ്പോൾ. നിങ്ങളുടെ ബാക്കപ്പ് സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യില്ല.

എന്നിരുന്നാലും, നിങ്ങൾ അനാക്രോൺ ഉപയോഗിക്കുകയാണെങ്കിൽ, അടുത്ത തവണ നിങ്ങൾ ഡെസ്uക്uടോപ്പ്/ലാപ്uടോപ്പ് വീണ്ടും ഓൺ ചെയ്യുമ്പോൾ, ബാക്കപ്പ് സ്uക്രിപ്റ്റ് എക്uസിക്യൂട്ട് ചെയ്യുമെന്ന് നിങ്ങൾക്ക് ഉറപ്പുണ്ടായിരിക്കാം.

ലിനക്സിൽ അനക്രോൺ എങ്ങനെ പ്രവർത്തിക്കുന്നു

anacron ജോലികൾ /etc/anacrontab-ൽ ലിസ്uറ്റ് ചെയ്uതിരിക്കുന്നു കൂടാതെ താഴെയുള്ള ഫോർമാറ്റ് ഉപയോഗിച്ച് ജോലികൾ ഷെഡ്യൂൾ ചെയ്യാവുന്നതാണ് (anacrontab ഫയലിനുള്ളിലെ അഭിപ്രായങ്ങൾ # ൽ തുടങ്ങണം).

period   delay   job-identifier   command

മുകളിലുള്ള ഫോർമാറ്റിൽ നിന്ന്:

  • കാലയളവ് - ദിവസത്തിലോ, ദിവസത്തിലോ, ആഴ്uചയിലോ, മാസത്തിലോ, ദിവസത്തിലോ, ആഴ്uചയിലോ, മാസത്തിലോ ഒരു പ്രാവശ്യം ജോലി നിർവ്വഹണത്തിന്റെ ആവൃത്തിയാണിത്. നിങ്ങൾക്ക് അക്കങ്ങളും ഉപയോഗിക്കാം: 1 - ദിവസേന, 7 - ആഴ്ചയിൽ, 30 - പ്രതിമാസ, N - ദിവസങ്ങളുടെ എണ്ണം.
  • കാലതാമസം - ഒരു ജോലി നിർവഹിക്കുന്നതിന് മുമ്പ് കാത്തിരിക്കേണ്ട മിനിറ്റുകളുടെ എണ്ണമാണിത്.
  • ജോലി ഐഡി - ലോഗ് ഫയലുകളിൽ എഴുതിയിരിക്കുന്ന ജോലിയുടെ വ്യതിരിക്തമായ പേരാണിത്.

ഉദാഹരണ ഫയലുകൾ കാണുന്നതിന്, ടൈപ്പ് ചെയ്യുക:

$ 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

  • കമാൻഡ് - ഇത് എക്സിക്യൂട്ട് ചെയ്യേണ്ട കമാൻഡ് അല്ലെങ്കിൽ ഷെൽ സ്ക്രിപ്റ്റ് ആണ്.

  • പീരിയഡ് ഫീൽഡിൽ നിശ്ചിത കാലയളവിനുള്ളിൽ ഒരു ജോലി പൂർത്തിയാക്കിയിട്ടുണ്ടോ എന്ന് Anacron പരിശോധിക്കും. ഇല്ലെങ്കിൽ, കാലതാമസം ഫീൽഡിൽ വ്യക്തമാക്കിയ മിനിറ്റുകളുടെ എണ്ണം കാത്തിരുന്ന ശേഷം കമാൻഡ് ഫീൽഡിൽ വ്യക്തമാക്കിയ കമാൻഡ് ഇത് നടപ്പിലാക്കുന്നു.
  • ജോലി നിർവഹിച്ചുകഴിഞ്ഞാൽ, അത് /var/spool/anacron ഡയറക്uടറിയിലെ ഒരു ടൈംസ്റ്റാമ്പ് ഫയലിൽ, ജോബ്-ഐഡി (ടൈംസ്റ്റാമ്പ് ഫയൽ നാമം) ഫീൽഡിൽ വ്യക്തമാക്കിയ പേരിനൊപ്പം തീയതി രേഖപ്പെടുത്തുന്നു.

ഇനി ഒരു ഉദാഹരണം നോക്കാം. ഇത് എല്ലാ ദിവസവും /home/aaronkilik/bin/backup.sh സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കും:

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

backup.sh ജോബ് പ്രവർത്തിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്ന സമയത്ത് മെഷീൻ ഓഫാണെങ്കിൽ, 7 ദിവസം കൂടി കാത്തിരിക്കാതെ മെഷീൻ ഓൺ ചെയ്ത് 10 മിനിറ്റ് കഴിഞ്ഞ് anacron അത് പ്രവർത്തിപ്പിക്കും.

നിങ്ങൾ മനസ്സിലാക്കേണ്ട അനക്രോണ്ടാബ് ഫയലിൽ രണ്ട് പ്രധാന വേരിയബിളുകൾ ഉണ്ട്:

  • START_HOURS_RANGE – ജോലികൾ ആരംഭിക്കേണ്ട സമയ പരിധി ഇത് സജ്ജീകരിക്കുന്നു (അതായത്, തുടർന്നുള്ള മണിക്കൂറുകളിൽ മാത്രം ജോലികൾ നടപ്പിലാക്കുക).
  • RANDOM_DELAY - ഒരു ജോലിയുടെ ഉപയോക്താവ് നിർവചിച്ച കാലതാമസത്തിലേക്ക് ചേർത്തിരിക്കുന്ന പരമാവധി ക്രമരഹിതമായ കാലതാമസം ഇത് നിർവ്വചിക്കുന്നു (സ്ഥിരസ്ഥിതിയായി ഇത് 45 ആണ്).

നിങ്ങളുടെ anacrontab ഫയൽ ഇങ്ങനെയായിരിക്കാം.

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

ക്രോണിന്റെയും അനാക്രോണിന്റെയും താരതമ്യമാണ് താഴെ കൊടുത്തിരിക്കുന്നത്, അവയിൽ ഏതെങ്കിലും എപ്പോൾ ഉപയോഗിക്കണമെന്ന് മനസ്സിലാക്കാൻ നിങ്ങളെ സഹായിക്കുന്നു.

ക്രോണും അനാക്രോണും തമ്മിലുള്ള പ്രധാന വ്യത്യാസം, തുടർച്ചയായി പ്രവർത്തിക്കുന്ന മെഷീനുകളിൽ ക്രോൺ ഫലപ്രദമായി പ്രവർത്തിക്കുന്നു എന്നതാണ്, അതേസമയം അനാക്രോൺ ഒരു ദിവസത്തിലോ ആഴ്ചയിലോ പവർ ഓഫ് ചെയ്യുന്ന മെഷീനുകൾക്കായി ഉദ്ദേശിച്ചുള്ളതാണ്.

നിങ്ങൾക്ക് മറ്റെന്തെങ്കിലും വഴി അറിയാമെങ്കിൽ, ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിച്ച് ഞങ്ങളുമായി പങ്കിടുക.