ക്രോൺ ഉപയോഗിച്ച് PHP സ്ക്രിപ്റ്റ് എങ്ങനെ സാധാരണ ഉപയോക്താവായി പ്രവർത്തിപ്പിക്കാം


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

ക്രോണിന്റെ ഒരു പരിമിതി, ഒരു സിസ്റ്റം എന്നെന്നേക്കുമായി പ്രവർത്തിക്കുമെന്ന് അത് അനുമാനിക്കുന്നു എന്നതാണ്; അതിനാൽ ഡെസ്ക്ടോപ്പ് മെഷീനുകൾ ഒഴികെയുള്ള സെർവറുകൾക്ക് ഇത് അനുയോജ്യമാണ്. കൂടാതെ, 'at' അല്ലെങ്കിൽ 'ബാച്ച്' കമാൻഡുകൾ ഉപയോഗിച്ച് തന്നിരിക്കുന്ന സമയത്തോ പിന്നീടുള്ള സമയത്തോ നിങ്ങൾക്ക് ഒരു ടാസ്uക് ഷെഡ്യൂൾ ചെയ്യാം: എന്നാൽ ടാസ്uക് ഒരു തവണ മാത്രമേ പ്രവർത്തിപ്പിക്കുകയുള്ളൂ (ഇത് ആവർത്തിക്കില്ല).

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

crontab (CRON TABle) പ്രോഗ്രാം ഉപയോഗിച്ച് നിങ്ങൾക്ക് ജോലികൾ ഷെഡ്യൂൾ ചെയ്യാം. ഓരോ ഉപയോക്താവിനും അവരുടേതായ ക്രോണ്ടാബ് ഫയൽ ഉണ്ടായിരിക്കാം, അത് ഒരു ജോലി നിർവചിക്കുന്നതിന് ആറ് ഫീൽഡുകൾ ഉൾക്കൊള്ളുന്നു:

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

നിങ്ങളുടെ സ്വന്തം crontab ഫയലിൽ എൻട്രികൾ സൃഷ്ടിക്കുന്നതിനോ എഡിറ്റ് ചെയ്യുന്നതിനോ, ടൈപ്പ് ചെയ്യുക:

$ crontab -e

നിങ്ങളുടെ എല്ലാ crontab എൻട്രികളും കാണുന്നതിന്, ഈ കമാൻഡ് ടൈപ്പ് ചെയ്യുക (ഇത് crontab ഫയൽ std ഔട്ട്പുട്ടിലേക്ക് പ്രിന്റ് ചെയ്യും):

$ crontab -l

എന്നിരുന്നാലും, നിങ്ങളൊരു സിസ്റ്റം അഡ്uമിനിസ്uട്രേറ്ററാണെങ്കിൽ മറ്റൊരു ഉപയോക്താവായി ഒരു PHP സ്uക്രിപ്റ്റ് എക്uസിക്യൂട്ട് ചെയ്യണമെങ്കിൽ, നിങ്ങൾ അത് /etc/crontab ഫയലിലോ റൂട്ട് ഉപയോക്താവിന്റെ crontab ഫയലിലോ ഷെഡ്യൂൾ ചെയ്യേണ്ടതുണ്ട്, അത് ഉപയോക്തൃനാമം വ്യക്തമാക്കുന്നതിന് ഒരു അധിക ഫയൽ പിന്തുണയ്ക്കുന്നു:

$ sudo vi /etc/crontab

നിങ്ങളുടെ PHP സ്ക്രിപ്റ്റ് ഇതുപോലെ എക്സിക്യൂട്ട് ചെയ്യുന്നതിനായി ഷെഡ്യൂൾ ചെയ്യുക, ടൈമിംഗ് വിഭാഗത്തിന് ശേഷം ഉപയോക്തൃനാമം വ്യക്തമാക്കുക.

0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

മുകളിലെ എൻട്രി സ്ക്രിപ്റ്റ് /var/www/test_site/cronjobs/backup.php എല്ലാ ദിവസവും അർദ്ധരാത്രിയിൽ ഉപയോക്താവ് tecmint ആയി നടപ്പിലാക്കുന്നു.

ഓരോ പത്ത് മിനിറ്റിലും മുകളിലെ സ്ക്രിപ്റ്റ് സ്വയമേവ എക്സിക്യൂട്ട് ചെയ്യണമെങ്കിൽ, ക്രോണ്ടാബ് ഫയലിലേക്ക് ഇനിപ്പറയുന്ന എൻട്രി ചേർക്കുക.

*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

മുകളിലെ ഉദാഹരണത്തിൽ, ജോലി എപ്പോൾ സംഭവിക്കണമെന്ന് */10 * * * * പ്രതിനിധീകരിക്കുന്നു. ആദ്യ ചിത്രം മിനിറ്റുകൾ കാണിക്കുന്നു - ഈ സാഹചര്യത്തിൽ, ഓരോ \പത്ത്\ മിനിറ്റിലും. മറ്റ് കണക്കുകൾ യഥാക്രമം, ആഴ്ചയിലെ മണിക്കൂർ, ദിവസം, മാസം, ദിവസം എന്നിവ കാണിക്കുന്നു.

ഇനിപ്പറയുന്ന അനുബന്ധ ലേഖനങ്ങൾ വായിക്കാനും നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം.

  1. ലിനക്സ് സിസ്റ്റം മെയിന്റനൻസ് ടാസ്ക്കുകൾ ഓട്ടോമേറ്റ് ചെയ്യാൻ ഷെൽ സ്ക്രിപ്റ്റിംഗ് ഉപയോഗിക്കുന്നു
  2. ഓരോ Linux ഉപയോക്താവും അറിഞ്ഞിരിക്കേണ്ട 12 ഉപയോഗപ്രദമായ PHP കമാൻഡ്uലൈൻ ഉപയോഗം
  3. ലിനക്സ് ടെർമിനലിൽ PHP കോഡുകൾ എങ്ങനെ പ്രവർത്തിപ്പിക്കാം
  4. സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാർക്കുള്ള 30 ഉപയോഗപ്രദമായ ലിനക്സ് കമാൻഡുകൾ

അത്രയേയുള്ളൂ! ഈ ലേഖനം നിങ്ങൾക്ക് ഉപയോഗപ്രദമാണെന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു. ഈ വിഷയവുമായി ബന്ധപ്പെട്ട് നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അധിക ആശയങ്ങളോ ഉണ്ടെങ്കിൽ, ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിക്കുക.