ലിനക്സിലെ 11 ക്രോൺ ഷെഡ്യൂളിംഗ് ടാസ്uക് ഉദാഹരണങ്ങൾ


ഈ ലേഖനത്തിൽ, Crontab കമാൻഡ് ഉപയോഗിച്ച് കൃത്യമായ ഇടവേളകളിൽ പശ്ചാത്തലത്തിൽ ടാസ്uക്കുകൾ എങ്ങനെ സ്വയമേവ ഷെഡ്യൂൾ ചെയ്യാമെന്നും പ്രവർത്തിപ്പിക്കാമെന്നും ഞങ്ങൾ അവലോകനം ചെയ്യാനും കാണാനും പോകുന്നു.

ഒരു പതിവ് ജോലി നേരിട്ട് കൈകാര്യം ചെയ്യുന്നത് സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാർക്ക് വളരെ ബുദ്ധിമുട്ടുള്ള കാര്യമാണ്, കൂടാതെ ലിനക്സിലെ ക്രോൺ ഡെമൺ അല്ലെങ്കിൽ യുണിക്സ് പോലുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ മനുഷ്യന്റെ ഇടപെടലില്ലാതെ അത്തരം ജോലികൾ പശ്ചാത്തലത്തിൽ സ്വയമേവ ഷെഡ്യൂൾ ചെയ്യാനും പ്രവർത്തിപ്പിക്കാനും കഴിയും.

[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: ലിനക്സിൽ ക്രോൺ ജോലികൾ എങ്ങനെ സൃഷ്ടിക്കാം, കൈകാര്യം ചെയ്യാം ]

ഉദാഹരണത്തിന്, ക്രോൺ ജോലികൾ സൃഷ്ടിക്കുന്നതിന് നിങ്ങൾക്ക് ഓൺലൈൻ ടൂളുകൾ ഓട്ടോമേറ്റ് ചെയ്യാം.

ഓരോ മിനിറ്റിലും ക്രോൺ ഉണർന്ന്, എണ്ണാവുന്ന രീതിയിൽ ടാസ്uക്കുകൾ ഷെഡ്യൂൾ ചെയ്യുന്നു - ക്രോണ്ടാബ് (CRON TABle) എന്നത് അത്തരം ആവർത്തിച്ചുള്ള ടാസ്uക്കുകൾ ഷെഡ്യൂൾ ചെയ്യാൻ കഴിയുന്ന ഒരു പട്ടികയാണ്.

നുറുങ്ങുകൾ: ടാസ്uക്കുകൾ സൃഷ്uടിക്കാനും പരിഷ്uക്കരിക്കാനും ഇല്ലാതാക്കാനും ഓരോ ഉപയോക്താവിനും അവരുടേതായ ക്രോണ്ടാബ് ഉണ്ടായിരിക്കും. സ്ഥിരസ്ഥിതിയായി ക്രോൺ ഉപയോക്താക്കൾക്ക് പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നു, എന്നിരുന്നാലും, /etc/cron.deny ഫയലിൽ ഒരു എൻട്രി ചേർത്തുകൊണ്ട് ഞങ്ങൾക്ക് ഉപയോക്താക്കളെ നിയന്ത്രിക്കാം.

ക്രോണ്ടാബ് ഫയലിൽ ഓരോ വരിയിലും കമാൻഡ് അടങ്ങിയിരിക്കുന്നു, കൂടാതെ ആറ് ഫീൽഡുകൾ യഥാർത്ഥത്തിൽ സ്പേസ് അല്ലെങ്കിൽ ടാബിൽ നിന്ന് വേർതിരിച്ചിരിക്കുന്നു. ആരംഭിക്കുന്ന അഞ്ച് ഫീൽഡുകൾ ടാസ്uക്കുകൾ പ്രവർത്തിപ്പിക്കാനുള്ള സമയത്തെ പ്രതിനിധീകരിക്കുന്നു, അവസാന ഫീൽഡ് കമാൻഡിനുള്ളതാണ്.

  • മിനിറ്റ് (0-59 തമ്മിലുള്ള മൂല്യങ്ങൾ ഹോൾഡ് ചെയ്യുക)
  • മണിക്കൂർ (0-23 വരെയുള്ള മൂല്യങ്ങൾ ഹോൾഡ് ചെയ്യുക)
  • മാസത്തിലെ ദിവസം (1-31-ന് ഇടയിലുള്ള മൂല്യങ്ങൾ ഹോൾഡ് ചെയ്യുക)
  • വർഷത്തിലെ മാസം (1-12-നും ജനുവരി-ഡിസംബറിനും ഇടയിൽ മൂല്യങ്ങൾ സൂക്ഷിക്കുക, നിങ്ങൾക്ക് ഓരോ മാസത്തിന്റെയും പേരിലെ ആദ്യ മൂന്ന് അക്ഷരങ്ങൾ അതായത് ജനുവരി അല്ലെങ്കിൽ ജൂൺ.)
  • ആഴ്ചയിലെ ദിവസം (0-6 അല്ലെങ്കിൽ സൂര്യൻ-ശനി എന്നിവയ്ക്കിടയിലുള്ള മൂല്യങ്ങൾ സൂക്ഷിക്കുക, ഇവിടെയും നിങ്ങൾക്ക് ഓരോ ദിവസത്തെയും പേരിന്റെ ആദ്യ മൂന്ന് അക്ഷരങ്ങൾ അതായത് സൂര്യൻ അല്ലെങ്കിൽ ബുധൻ എന്നിവ ഉപയോഗിക്കാം. )
  • കമാൻഡ് - നിങ്ങൾ ഷെഡ്യൂൾ ചെയ്യാൻ ആഗ്രഹിക്കുന്ന /path/to/command അല്ലെങ്കിൽ സ്ക്രിപ്റ്റ്.

നിലവിലെ ഉപയോക്താവിനുള്ള -l ഓപ്uഷൻ ഉപയോഗിച്ച് crontab കമാൻഡ് ഉപയോഗിച്ച് ടാസ്uക് ലിസ്റ്റ് ചെയ്യുക അല്ലെങ്കിൽ നിയന്ത്രിക്കുക.

# crontab -l

00 10 * * * /bin/ls >/ls.txt

ക്രോണ്ടാബ് എൻട്രി എഡിറ്റുചെയ്യാൻ, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ -e ഓപ്ഷൻ ഉപയോഗിക്കുക. ചുവടെയുള്ള ഉദാഹരണത്തിൽ, VI എഡിറ്ററിൽ ഷെഡ്യൂൾ ജോലികൾ തുറക്കും. ആവശ്യമായ മാറ്റങ്ങൾ വരുത്തി, ക്രമീകരണം സ്വയമേവ സംരക്ഷിക്കുന്ന :wq കീകൾ അമർത്തുന്നത് നിർത്തുക.

# crontab -e

-u (User), -l (List) എന്ന ഓപ്uഷൻ ഉപയോഗിച്ച് tecmint എന്ന് വിളിക്കപ്പെടുന്ന ഒരു പ്രത്യേക ഉപയോക്താവിന്റെ ഷെഡ്യൂൾ ചെയ്ത ജോലികൾ ലിസ്റ്റ് ചെയ്യാൻ.

# crontab -u tecmint -l

no crontab for tecmint

ശ്രദ്ധിക്കുക: റൂട്ട് ഉപയോക്താവിന് മാത്രമേ മറ്റ് ഉപയോക്താക്കളുടെ ക്രോണ്ടാബ് എൻട്രികൾ കാണാനുള്ള പൂർണ്ണമായ അധികാരമുള്ളൂ. സാധാരണ ഉപയോക്താക്കൾക്ക് മറ്റുള്ളവരെ കാണാൻ കഴിയില്ല.

മുന്നറിയിപ്പ്: -r പാരാമീറ്റർ ഉള്ള Crontab, crontab-ൽ നിന്ന് സ്ഥിരീകരണം കൂടാതെ ഷെഡ്യൂൾ ചെയ്ത ജോലികൾ പൂർണ്ണമായി നീക്കം ചെയ്യും. ഉപയോക്താവിന്റെ ക്രോണ്ടാബ് ഇല്ലാതാക്കുന്നതിന് മുമ്പ് -i ഓപ്ഷൻ ഉപയോഗിക്കുക.

# crontab -r

-i ഉള്ള crontab ഉപയോക്താവിന്റെ crontab ഇല്ലാതാക്കുന്നതിന് മുമ്പ് ഉപയോക്താവിൽ നിന്ന് സ്ഥിരീകരണം ആവശ്യപ്പെടും.

# crontab -i -r

crontab: really delete root's crontab?

  • ആസ്റ്ററിസ്ക്(*) - ഫീൽഡിലെ എല്ലാ മൂല്യങ്ങളും അല്ലെങ്കിൽ സാധ്യമായ ഏതെങ്കിലും മൂല്യങ്ങളുമായി പൊരുത്തപ്പെടുത്തുക.
  • ഹൈഫൻ(-) – ശ്രേണി നിർവചിക്കാൻ.
  • സ്ലാഷ് (/) – 1st ഫീൽഡ് /10 അർത്ഥമാക്കുന്നത് ഓരോ പത്ത് മിനിറ്റിലും അല്ലെങ്കിൽ ശ്രേണിയുടെ വർദ്ധനവ്.
  • കോമ (,) – ഇനങ്ങൾ വേർതിരിക്കാൻ.

സിസ്റ്റം അഡ്uമിനിസ്uട്രേറ്റർക്ക് ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ മുൻuനിർവചിക്കപ്പെട്ട ക്രോൺ ഡയറക്uടറി ഉപയോഗിക്കാം.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.hourly
  • /etc/cron.monthly
  • /etc/cron.weekly

താഴെയുള്ള ജോലികൾ ദിവസവും 12:30 am-ന് /tmp-ൽ നിന്ന് ശൂന്യമായ ഫയലുകളും ഡയറക്ടറിയും ഇല്ലാതാക്കുന്നു. crontab കമാൻഡ് നടപ്പിലാക്കാൻ നിങ്ങൾ ഉപയോക്തൃനാമം സൂചിപ്പിക്കേണ്ടതുണ്ട്. ചുവടെയുള്ള ഉദാഹരണത്തിൽ റൂട്ട് ഉപയോക്താവ് ഒരു ക്രോൺ ജോലി ചെയ്യുന്നു.

# crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

നിങ്ങൾക്ക് കീവേഡുകൾ ഉപയോഗിക്കണമെങ്കിൽ ക്രോൺ കമാൻഡിന്റെ അഞ്ച് ഫീൽഡുകൾ മാറ്റിസ്ഥാപിക്കേണ്ടതുണ്ട്.

ചുവടെയുള്ള ഉദാഹരണത്തിൽ, കമാൻഡ് 1, കമാൻഡ് 2 എന്നിവ ദിവസവും പ്രവർത്തിക്കുന്നു.

# crontab -e

@daily <command1> && <command2>

സ്ഥിരസ്ഥിതിയായി, ക്രോൺജോബ് എക്സിക്യൂട്ട് ചെയ്യുന്ന ഉപയോക്തൃ അക്കൗണ്ടിലേക്ക് ക്രോൺ മെയിൽ അയയ്ക്കുന്നു. നിങ്ങൾക്ക് ഇത് പ്രവർത്തനരഹിതമാക്കണമെങ്കിൽ ചുവടെയുള്ള ഉദാഹരണത്തിന് സമാനമായി നിങ്ങളുടെ ക്രോൺ ജോബ് ചേർക്കുക. ഫയലിന്റെ അവസാനം >/dev/null 2>&1 ഓപ്ഷൻ ഉപയോഗിക്കുന്നത് ക്രോൺ ഫലങ്ങളുടെ എല്ലാ ഔട്ട്പുട്ടും /dev/null-ന് കീഴിൽ റീഡയറക്uട് ചെയ്യും.

 crontab -e
* * * * * >/dev/null 2>&1

ഉപസംഹാരം: ടാസ്uക്കുകളുടെ ഓട്ടോമേഷൻ ഞങ്ങളുടെ ജോലികൾ മികച്ച രീതിയിലും പിശകുകളില്ലാതെയും കാര്യക്ഷമമായും നിർവഹിക്കാൻ ഞങ്ങളെ സഹായിച്ചേക്കാം. നിങ്ങളുടെ ടെർമിനലിൽ 'man crontab' കമാൻഡ് ടൈപ്പ് ചെയ്ത് കൂടുതൽ വിവരങ്ങൾക്ക് crontab-ന്റെ ഒരു മാനുവൽ പേജ് നിങ്ങൾക്ക് റഫർ ചെയ്യാം.