തൊഴിലവസരങ്ങൾ ഷെഡ്യൂൾ ചെയ്യുന്നതിനായി ലിനക്സ് Crontab ഫയൽ എങ്ങനെ എഡിറ്റുചെയ്യാം

ആമുഖം

ലിനക്സിൽ ഒരു ഡെമൺ ക്രോൺ എന്നു വിളിക്കുന്നു, ഇത് ക്രമമായ ഇടവേളകളിൽ പ്രോസസ്സുകൾ പ്രവർത്തിപ്പിക്കാൻ ഉപയോഗിക്കുന്നു.

ഇത് ചെയ്യുന്ന രീതി, നിങ്ങളുടെ സിസ്റ്റത്തിലുള്ള ചില ഫോൾഡറുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് സ്ക്രിപ്റ്റുകൾക്കായി പരിശോധിക്കുന്നു. ഉദാഹരണത്തിന് /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly എന്ന പേരിൽ ഒരു ഫോൾഡർ ഉണ്ട്. / Etc / crontab എന്ന പേരിൽ ഒരു ഫയലും ഉണ്ട്.

ഒരു സ്ഥിര ഇടവേളകളിൽ പ്രവർത്തിപ്പിക്കാൻ സ്വമേധയാ സ്ക്രിപ്റ്റുകൾ പ്രസക്തമായ ഫോൾഡറിലേക്ക് കൊണ്ടുവയ്ക്കാം.

ഉദാഹരണത്തിന് ഒരു ടെർമിനൽ വിൻഡോ തുറക്കുക (CTRL, ALT, T എന്നിവ അമർത്തി) താഴെപ്പറയുന്ന ls കമാൻഡ് പ്രവർത്തിപ്പിക്കുക :

ls / etc / cron *

ദിവസേന, പ്രതിവാര, പ്രതിമാസ, പ്രതിമാസ പ്രവർത്തനം നടത്തിയിട്ടുള്ള പ്രോഗ്രാമുകളുടെ അല്ലെങ്കിൽ സ്ക്രിപ്റ്റുകളുടെ ലിസ്റ്റ് നിങ്ങൾ കാണും.

ഈ ഫോൾഡറുകളോടുള്ള കുഴപ്പം ഒരു അദ്വതമാണെന്ന് അവർ പറയുന്നു. ഉദാഹരണമായി ദിവസേന ദിവസേന സ്ക്രിപ്റ്റ് പ്രവർത്തിക്കുമെങ്കിലും ആ ദിവസം തന്നെ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുന്ന സമയത്തെ നിങ്ങൾക്ക് നിയന്ത്രണമില്ല.

ഇവിടെയാണ് crontab ഫയൽ വരുന്നത്.

Crontab ഫയൽ എഡിറ്റുചെയ്യുന്നതിലൂടെ കൃത്യമായ തീയതിയിലും പ്രവർത്തിപ്പിനായും പ്രവർത്തിപ്പിക്കാൻ ഒരു സ്ക്രിപ്റ്റ് അല്ലെങ്കിൽ പ്രോഗ്രാം നിങ്ങൾക്ക് ലഭിക്കും. ഉദാഹരണത്തിന് 6 മണിക്ക് രാത്രി നിങ്ങളുടെ ഫയലുകൾ ബാക്കപ്പ് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടാവും.

അനുമതികൾ

Crontab കമാന്ഡിന് ഒരു ഉപയോക്താവിനു് ഒരു crontab ഫയലില് മാറ്റം വരുത്താനുള്ള അനുവാദം ഉണ്ടായിരിക്കണം. Crontab അനുമതികൾ കൈകാര്യം ചെയ്യാൻ ഉപയോഗിക്കുന്ന രണ്ട് ഫയലുകൾ ഉണ്ട്:

/etc/cron.allow എന്ന ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഉപയോക്താവിനു് crontab ഫയൽ എഡിറ്റുചെയ്യണമെങ്കിൽ ആ ഫയലിൽ ആയിരിക്കണം. Cron.allow ഫയൽ നിലവിലില്ല എങ്കിലും ഒരു /etc/cron.deny ഫയൽ നിലവിലുണ്ടെങ്കിൽ ഉപയോക്താവിന് ആ ഫയലിൽ നിലനിൽക്കില്ല.

രണ്ടു് ഫയലുകളും നിലവിലുണ്ടെങ്കിൽ, /etc/cron.allow /etc/cron.deny ഫയൽ അസാധുവാക്കുന്നു.

ഒരു ഫയൽ നിലവിലില്ലെങ്കിൽ ഉപയോക്താവിന് crontab എഡിറ്റുചെയ്യാനാകുമോ എന്നത് സിസ്റ്റം കോൺഫിഗറേഷനിൽ ആശ്രയിച്ചിരിക്കുന്നു.

റൂട്ട് യൂസർ എല്ലായ്പ്പോഴും crontab ഫയൽ എഡിറ്റുചെയ്യാം. നിങ്ങൾ റൂട്ട് യൂസറിലേക്കു് അല്ലെങ്കിൽ suud കമാൻഡിലേക്ക് crontab കമാൻഡ് പ്രവർത്തിപ്പിയ്ക്കുന്നതിനായി su കമാൻഡ് ഉപയോഗിയ്ക്കാം.

Crontab ഫയൽ എഡിറ്റുചെയ്യുന്നു

അനുമതികൾ ഉള്ള ഓരോ ഉപയോക്താവും സ്വന്തം crontab ഫയൽ സൃഷ്ടിക്കാൻ കഴിയും. ക്രോൺ കമാൻഡ് പ്രധാനമായും ഒന്നിലധികം ക്രോൺഅപ്പ് ഫയലുകളുടെയും റണ്ണിന്റെയും അസ്തിത്വം നോക്കുന്നു.

നിങ്ങൾക്ക് crontab ഫയൽ ഉണ്ടോ എന്ന് പരിശോധിക്കുന്നതിനായി താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

crontab -l

നിങ്ങൾക്ക് ഒരു crontab ഫയൽ ഇല്ലെങ്കിൽ "നിങ്ങളുടെ പേര്> വേണ്ടെന്നു് വരാതിരിക്കുകയോ നിങ്ങളുടെ കൺട്രാബ് ഫയൽ പ്രദർശിപ്പിക്കപ്പെടുകയോ ചെയ്യും (ഈ പ്രവർത്തനം സിസ്റ്റത്തിൽ നിന്ന് വ്യത്യസ്തമായിരിക്കും, ചിലപ്പോഴൊക്കെ അതു പ്രദർശിപ്പിക്കുമ്പോൾ മറ്റൊന്നും ഒന്നുമില്ല," ഈ ഫയൽ എഡിറ്റുചെയ്യരുത് ").

ഒരു crontab ഫയൽ തയ്യാറാക്കാനോ എഡിറ്റുചെയ്യാനോ താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

crontab -e

സ്വതവേ സ്ഥിരസ്ഥിതിയായി ഉണ്ടെങ്കിൽ ഡീഫോൾട്ട് എഡിറ്റർ തിരഞ്ഞെടുത്തിട്ടില്ല എങ്കിൽ ഉപയോഗിക്കാൻ ഒരു ഡിഫാൾട്ട് എഡിറ്റർ തിരഞ്ഞെടുക്കുന്നതിന് നിങ്ങളോട് ആവശ്യപ്പെടും. വ്യക്തിപരമായി ഞാൻ നാനോ ഉപയോഗിക്കുന്നത് പോലെ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നു, അതു ടെർമിനലിൽ നിന്നും പ്രവർത്തിക്കുന്നു.

തുറക്കുന്ന ഫയൽ ധാരാളം വിവരങ്ങൾ ഉണ്ട്, പക്ഷേ പ്രധാന ഭാഗമാണ് അഭിപ്രായങ്ങൾ വിഭാഗം അവസാനിക്കുന്നതിനു മുമ്പ് ഉദാഹരണമാണ് (അഭിപ്രായങ്ങൾ # ൽ ആരംഭിക്കുന്ന വരികളാൽ സൂചിപ്പിക്കപ്പെടും).

# mh dom monowow കമാൻഡ്

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Cntab ഫയലിന്റെ ഓരോ വരിയിലും ഒത്തു ചേരുന്ന 6 കഷണങ്ങൾ ഉണ്ട്:

ഓരോ വസ്തുവിനും (കമാൻഡില്ലാതെ) നിങ്ങൾക്ക് ഒരു വൈൽഡ്കാർഡ് പ്രതീകം നൽകാം. താഴെ ഉദാഹരണത്തിൽ crontab വരി നോക്കുക:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

മുകളിൽ പറഞ്ഞിരിക്കുന്ന കമാൻഡ് പറയുന്നത് 30 മിനിറ്റ്, 18 മണിക്കൂറും, ദിവസവുമുള്ള, ആഴ്ചയിലെ ആഴ്ചയും സമയവും, / var / backups ഫോൾഡറിലേക്ക് വീടിന്റെ ഡയറക്ടറി zip ചെയ്യാനായി ഒരു കമാൻഡ് പ്രവർത്തിക്കുന്നു.

ഓരോ മണിക്കൂറിലും 30 മിനിറ്റിനകം പ്രവർത്തിപ്പിക്കാൻ ഒരു കമാൻഡ് ലഭിക്കാൻ എനിക്ക് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കാം:

30 * * * * ആജ്ഞ

6 മണിക്ക് ഓരോ മിനിറ്റും പ്രവർത്തിപ്പിക്കുന്നതിന് ഒരു കമാണ്ട് ലഭിക്കാൻ എനിക്ക് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കാം:

* 18 * * * ആജ്ഞ

അതിനാൽ നിങ്ങളുടെ crontab കമാൻഡുകൾ സജ്ജമാക്കുന്നതിനെപ്പറ്റി നിങ്ങൾ ശ്രദ്ധിക്കേണ്ടതുണ്ട്.

ഉദാഹരണത്തിന്:

* * * 1 * ആജ്ഞ

എല്ലാ ആഴ്ചയിലും ഓരോ മിനിറ്റിലും എല്ലാ മിനിറ്റിലും ഓരോ മിനിറ്റിലും ഈ കമാൻഡ് പ്രവർത്തിക്കും. എനിക്ക് വേണ്ടത് നിങ്ങൾ ആഗ്രഹിക്കുന്നതാണ്.

1 ജനുവരി ജനുവരി 5 ന് ഒരു കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിനായി നിങ്ങൾ cronab ഫയലിനു് താഴെ പറയുന്ന കമാൻഡിൽ പ്രവർത്തിപ്പിയ്ക്കുന്നു:

0 5 1 1 * ആജ്ഞ

ഒരു Crontab ഫയൽ നീക്കം എങ്ങനെ

നിങ്ങൾ crontab ഫയൽ നീക്കം ചെയ്യേണ്ട സമയത്തിൽ അധികമില്ല, പക്ഷേ നിങ്ങൾ crontab ഫയലിൽ നിന്നും ചില വരികൾ നീക്കം ചെയ്യണം.

എന്നിരുന്നാലും നിങ്ങളുടെ ഉപയോക്താവിന്റെ crontab ഫയൽ നീക്കം ചെയ്യണമെങ്കിൽ താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

crontab -r

ഇതു് സുരക്ഷിതമായ മാർഗ്ഗമാണു് താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

crontab -i

ഇത് ചോദ്യം ചോദിക്കുന്നു "നിങ്ങൾക്ക് ഉറപ്പാണോ?" crontab ഫയൽ നീക്കം ചെയ്യുന്നതിനു മുമ്പ്.