റീബൂട്ട് അല്ലെങ്കിൽ സ്റ്റാർട്ടപ്പ് സമയത്ത് കമാൻഡുകൾ/സ്ക്രിപ്റ്റുകൾ എങ്ങനെ സ്വയമേവ എക്സിക്യൂട്ട് ചെയ്യാം
ഞാൻ ഒരു ലിനക്സ് സിസ്റ്റം ബൂട്ട് ചെയ്ത് ലോഗിൻ ചെയ്യുമ്പോൾ തിരശ്ശീലയ്ക്ക് പിന്നിൽ നടക്കുന്ന കാര്യങ്ങളിൽ ഞാൻ എപ്പോഴും ആകൃഷ്ടനാണ്. നഗ്നമായ ലോഹത്തിൽ പവർ ബട്ടൺ അമർത്തുന്നതിലൂടെയോ ഒരു വെർച്വൽ മെഷീൻ ആരംഭിക്കുന്നതിലൂടെയോ, പൂർണ്ണമായി പ്രവർത്തനക്ഷമമായ ഒരു സിസ്റ്റത്തിലേക്ക് നയിക്കുന്ന ഇവന്റുകളുടെ ഒരു പരമ്പര നിങ്ങൾ ചലിപ്പിക്കുന്നു - ചിലപ്പോൾ ഒരു മിനിറ്റിനുള്ളിൽ. നിങ്ങൾ ലോഗ് ഓഫ് ചെയ്യുമ്പോൾ കൂടാതെ/അല്ലെങ്കിൽ സിസ്റ്റം ഷട്ട്ഡൗൺ ചെയ്യുമ്പോൾ ഇത് ശരിയാണ്.
ഇത് കൂടുതൽ രസകരവും രസകരവുമാക്കുന്നത്, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ബൂട്ട് ചെയ്യുമ്പോഴും നിങ്ങൾ ലോഗിൻ ചെയ്യുമ്പോഴോ ലോഗ്ഔട്ട് ചെയ്യുമ്പോഴോ ചില പ്രവർത്തനങ്ങൾ നടപ്പിലാക്കാൻ നിങ്ങൾക്ക് കഴിയും എന്നതാണ്.
ഈ ഡിസ്ട്രോ-അജ്ഞ്ഞേയവാദി ലേഖനത്തിൽ, ലിനക്സിൽ ഈ ലക്ഷ്യങ്ങൾ നിറവേറ്റുന്നതിനുള്ള പരമ്പരാഗത രീതികൾ ഞങ്ങൾ ചർച്ച ചെയ്യും.
ശ്രദ്ധിക്കുക: ലോഗിൻ, ലോഗ്ഔട്ട് ഇവന്റുകൾക്ക് പ്രധാന ഷെല്ലായി ബാഷ് ഉപയോഗിക്കുന്നത് ഞങ്ങൾ അനുമാനിക്കും. നിങ്ങൾ മറ്റൊരു രീതി ഉപയോഗിക്കുകയാണെങ്കിൽ, ഈ രീതികളിൽ ചിലത് പ്രവർത്തിക്കുകയോ പ്രവർത്തിക്കാതിരിക്കുകയോ ചെയ്യാം. സംശയമുണ്ടെങ്കിൽ, നിങ്ങളുടെ ഷെല്ലിന്റെ ഡോക്യുമെന്റേഷൻ പരിശോധിക്കുക.
റീബൂട്ട് അല്ലെങ്കിൽ സ്റ്റാർട്ടപ്പ് സമയത്ത് Linux സ്ക്രിപ്റ്റുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നു
സ്റ്റാർട്ടപ്പ് സമയത്ത് ഒരു കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനോ സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നതിനോ രണ്ട് പരമ്പരാഗത രീതികളുണ്ട്:
ഒരു ഷെഡ്യൂൾ സൂചിപ്പിക്കാൻ വ്യാപകമായി ഉപയോഗിക്കുന്ന സാധാരണ ഫോർമാറ്റ് (മിനിറ്റ്/മണിക്കൂർ/മാസത്തിലെ ദിവസം/മാസം/ആഴ്ചയിലെ ദിവസം) കൂടാതെ, ക്രോൺ ഷെഡ്യൂളർ @reboot
ഉപയോഗിക്കാനും അനുവദിക്കുന്നു. ഈ നിർദ്ദേശം, സ്ക്രിപ്റ്റിലേക്കുള്ള സമ്പൂർണ്ണ പാത പിന്തുടരുന്നത്, മെഷീൻ ബൂട്ട് ചെയ്യുമ്പോൾ അത് പ്രവർത്തിപ്പിക്കുന്നതിന് കാരണമാകും.
എന്നിരുന്നാലും, ഈ സമീപനത്തിന് രണ്ട് മുന്നറിയിപ്പുകളുണ്ട്:
- a) ക്രോൺ ഡെമൺ പ്രവർത്തിക്കണം (സാധാരണ സാഹചര്യങ്ങളിൽ ഇത് സംഭവിക്കുന്നു), കൂടാതെ
- b) സ്ക്രിപ്റ്റിലോ crontab ഫയലിലോ ആവശ്യമായ എൻവയോൺമെന്റ് വേരിയബിളുകൾ (എന്തെങ്കിലും ഉണ്ടെങ്കിൽ) ഉൾപ്പെടുത്തണം (കൂടുതൽ വിശദാംശങ്ങൾക്ക് ഈ StackOverflow ത്രെഡ് കാണുക).
systemd-അധിഷ്ഠിത വിതരണങ്ങൾക്ക് പോലും ഈ രീതി സാധുവാണ്. ഈ രീതി പ്രവർത്തിക്കുന്നതിന്, നിങ്ങൾ /etc/rc.d/rc.local
എന്നതിന് ഇനിപ്പറയുന്ന രീതിയിൽ എക്സിക്യൂട്ട് അനുമതികൾ നൽകണം:
# chmod +x /etc/rc.d/rc.local
ഫയലിന്റെ ചുവടെ നിങ്ങളുടെ സ്ക്രിപ്റ്റ് ചേർക്കുക.
ഒരു ക്രോൺ ജോലിയും ആർസിയും ഉപയോഗിച്ച് രണ്ട് സാമ്പിൾ സ്ക്രിപ്റ്റുകൾ (/home/gacanepa/script1.sh
, /home/gacanepa/script2.sh
) എങ്ങനെ പ്രവർത്തിപ്പിക്കാമെന്ന് ഇനിപ്പറയുന്ന ചിത്രം കാണിക്കുന്നു. യഥാക്രമം പ്രാദേശികവും അവയുടെ ഫലങ്ങളും.
#!/bin/bash DATE=$(date +'%F %H:%M:%S') DIR=/home/gacanepa echo "Current date and time: $DATE" > $DIR/file1.txt
#!/bin/bash SITE="linux-console.net" DIR=/home/gacanepa echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
രണ്ട് സ്ക്രിപ്റ്റുകൾക്കും മുമ്പ് എക്സിക്യൂട്ട് പെർമിഷനുകൾ നൽകിയിരിക്കണം എന്നത് ഓർമ്മിക്കുക:
$ chmod +x /home/gacanepa/script1.sh $ chmod +x /home/gacanepa/script2.sh
ലോഗണിലും ലോഗ്ഔട്ടിലും ലിനക്സ് സ്ക്രിപ്റ്റുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നു
ലോഗോൺ അല്ലെങ്കിൽ ലോഗ്ഔട്ടിൽ ഒരു സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യാൻ, യഥാക്രമം ~.bash_profile
, ~.bash_logout
എന്നിവ ഉപയോഗിക്കുക. മിക്കവാറും, നിങ്ങൾ രണ്ടാമത്തെ ഫയൽ സ്വമേധയാ സൃഷ്ടിക്കേണ്ടതുണ്ട്. മുമ്പത്തെ അതേ രീതിയിൽ ഓരോ ഫയലിന്റെയും അടിയിൽ നിങ്ങളുടെ സ്ക്രിപ്റ്റ് അഭ്യർത്ഥിക്കുന്ന ഒരു ലൈൻ ഇടുക, നിങ്ങൾ പോകാൻ തയ്യാറാണ്.
റീബൂട്ട്, ലോഗൺ, ലോഗ്ഔട്ട് എന്നിവയിൽ സ്ക്രിപ്റ്റ് എങ്ങനെ പ്രവർത്തിപ്പിക്കാമെന്ന് ഈ ലേഖനത്തിൽ ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. ഞങ്ങൾക്ക് ഇവിടെ ഉൾപ്പെടുത്താമായിരുന്ന മറ്റ് രീതികളെക്കുറിച്ച് നിങ്ങൾക്ക് ചിന്തിക്കാൻ കഴിയുമെങ്കിൽ, അവ ചൂണ്ടിക്കാണിക്കാൻ ചുവടെയുള്ള അഭിപ്രായ ഫോം ഉപയോഗിക്കാൻ മടിക്കേണ്ടതില്ല. ഞങ്ങള് താങ്കള് പറയുന്നതു കേള്ക്കാനായി കാത്തിരിക്കുന്നു!