Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

लिनक्स रीबूट और स्टार्टअप पर कमांड स्वचालित करें: चरण-दर-चरण मार्गदर्शिका

परिचय

जब मैं लिनक्स सिस्टम को बूट करता हूँ और लॉग ऑन करता हूँ, तो पर्दे के पीछे होने वाली घटनाएँ मुझे हमेशा आकर्षित करती हैं। बेयर मेटल पर पावर बटन दबाने या वर्चुअल मशीन शुरू करने से घटनाओं का एक क्रम शुरू होता है जो एक पूरी तरह कार्यात्मक सिस्टम की ओर ले जाता है - कभी-कभी एक मिनट से भी कम समय में। यही बात तब भी लागू होती है जब आप लॉग ऑफ करते हैं या सिस्टम को शटडाउन करते हैं।

इसे और दिलचस्प और मजेदार बनाता है यह तथ्य कि आप ऑपरेटिंग सिस्टम को बूट होने पर और लॉगऑन या लॉगआउट पर कुछ खास कार्रवाइयाँ करने के लिए निर्देशित कर सकते हैं।

इस डिस्ट्रो-अज्ञेय लेख में हम लिनक्स में इन लक्ष्यों को प्राप्त करने के पारंपरिक तरीकों पर चर्चा करेंगे।

नोट: हम लॉगऑन और लॉगआउट इवेंट के लिए मुख्य शेल के रूप में Bash के उपयोग को मान रहे हैं। यदि आप किसी अलग शेल का उपयोग करते हैं, तो ये विधियाँ काम कर भी सकती हैं और नहीं भी। संदेह होने पर अपने शेल के दस्तावेज़ देखें।

रिबूट या स्टार्टअप के दौरान लिनक्स स्क्रिप्ट निष्पादित करना

स्टार्टअप के दौरान कमांड निष्पादित करने या स्क्रिप्ट चलाने के दो पारंपरिक तरीके हैं:

विधि #1 - क्रॉन जॉब का उपयोग करें

सामान्य प्रारूप (मिनट/घंटा/महीने का दिन/महीना/सप्ताह का दिन) के अलावा जिसका व्यापक रूप से शेड्यूल इंगित करने के लिए उपयोग किया जाता है, क्रॉन शेड्यूलर @reboot निर्देश के उपयोग की भी अनुमति देता है। यह निर्देश, स्क्रिप्ट के पूर्ण पथ के बाद, मशीन के बूट होने पर इसे चलाने का कारण बनेगा।

हालाँकि, इस दृष्टिकोण के दो चेतावनी हैं:

  1. क) क्रॉन डेमॉन चल रहा होना चाहिए (जो सामान्य परिस्थितियों में होता है), और
  2. ख) स्क्रिप्ट या क्रॉनटैब फ़ाइल में आवश्यक वातावरण चर शामिल होने चाहिए (अधिक विवरण के लिए यह StackOverflow थ्रेड देखें)।

विधि #2 - /etc/rc.d/rc.local का उपयोग करें

यह विधि systemd-आधारित डिस्ट्रिब्यूशन के लिए भी मान्य है। इस विधि को काम करने के लिए, आपको /etc/rc.d/rc.local को निष्पादन अनुमति देनी होगी:

# chmod +x /etc/rc.d/rc.local

और फ़ाइल के नीचे अपनी स्क्रिप्ट जोड़ें।

निम्न छवि दिखाती है कि कैसे दो नमूना स्क्रिप्ट (/home/gacanepa/script1.sh और /home/gacanepa/script2.sh) को क्रमशः क्रॉन जॉब और rc.local का उपयोग करके चलाया जाता है, और उनके संबंधित परिणाम।

script1.sh:

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt

script2.sh:

#!/bin/bash
SITE="Tecmint.com"
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 का उपयोग करें। सबसे अधिक संभावना है कि आपको बाद वाली फ़ाइल को मैन्युअल रूप से बनाने की आवश्यकता होगी। बस प्रत्येक फ़ाइल के नीचे अपनी स्क्रिप्ट को आमंत्रित करने वाली एक लाइन जोड़ें, पहले की तरह ही, और आप जाने के लिए तैयार हैं।

सारांश

इस लेख में हमने रीबूट, लॉगऑन और लॉगआउट पर स्क्रिप्ट चलाने का तरीका बताया है। यदि आप अन्य विधियों के बारे में सोच सकते हैं जिन्हें हम यहाँ शामिल कर सकते थे, तो बेझिझक नीचे दिए गए टिप्पणी फॉर्म का उपयोग करके उन्हें इंगित करें। हम आपसे सुनने के लिए उत्सुक हैं!

अपने लिनक्स कौशल को अगले स्तर पर ले जाएं

रूट सदस्यों को हर कोर्स, सर्टिफिकेशन प्रीप ट्रैक, और हैंड्स-ऑन लिनक्स सामग्री की बढ़ती लाइब्रेरी तक पूर्ण पहुंच मिलती है - हर महीने नए कोर्स जोड़े जाते हैं।

आपको क्या मिलता है

  • सभी प्रीमियम लेखों तक विज्ञापन-मुक्त पहुंच
  • सभी कोर्स तक पहुंच: लिनक्स सीखें, लिनक्स के लिए AI, बैश स्क्रिप्टिंग, उबंटू हैंडबुक, गोलैंग और बहुत कुछ।
  • लिनक्स सर्टिफिकेशन तक पहुंच (RHCSA, RHCE, LFCS और LFCA)
  • रिलीज पर नए कोर्स तक पहुंच
  • साप्ताहिक न्यूज़लेटर तक पहुंच
  • टिप्पणियों में प्राथमिकता सहायता
  • निजी टेलीग्राम समुदाय
  • लिनक्स समुदाय से जुड़ें
लिनक्स रीबूट और स्टार्टअप पर कमांड स्वचालित करें: चरण-दर-चरण मार्गदर्शिका

गैब्रिएल कानेपा अर्जेंटीना के विला मर्सिडीज, सैन लुइस से एक GNU/Linux सिसएडमिन और वेब डेवलपर हैं। वे एक विश्वव्यापी अग्रणी उपभोक्ता उत्पाद कंपनी के लिए काम करते हैं और अपने दैनिक कार्य के सभी क्षेत्रों में उत्पादकता बढ़ाने के लिए FOSS टूल का उपयोग करने में बहुत आनंद लेते हैं।

TecMint पर प्रत्येक ट्यूटोरियल अनुभवी लिनक्स सिस्टम प्रशासकों की एक टीम द्वारा बनाया जाता है ताकि यह हमारे उच्च-गुणवत्ता मानकों को पूरा करे।

  1. C++ में उस नोड को ढूंढें जिसका X के साथ निरपेक्ष अंतर न्यूनतम मान देता है C++ में उस नोड को ढूंढें जिसका X के साथ निरपेक्ष अंतर न्यूनतम मान देता है

    मान लीजिए हमारे पास एक ट्री है, और सभी नोड्स के वजन और एक पूर्णांक x है। हमें नोड i ढूंढना है, जैसे कि |weight[i] - x| न्यूनतम हो। यदि ग्राफ नीचे की तरह है, और x = 15 आउटपुट 3 होगा। अब विभिन्न नोड्स के लिए, यह नीचे की तरह होगा: नोड 1, |5 – 15| = 10 नोड 2, |10 – 15| = 5 नोड 3, |11 – 15| = 4 नोड 4, |

  1. चरण-दर-चरण गाइड: EPEL के साथ CentOS/RHEL पर Tripwire IDS इंस्टॉल करना चरण-दर-चरण गाइड: EPEL के साथ CentOS/RHEL पर Tripwire IDS इंस्टॉल करना

    परिचय Tripwire एक लोकप्रिय लिनक्स इंट्रूजन डिटेक्शन सिस्टम (IDS) है जो अनधिकृत फाइलसिस्टम परिवर्तनों का पता लगाने के लिए समय के साथ सिस्टम पर चलता है। सेंटओएस और RHEL डिस्ट्रीब्यूशन में, Tripwire आधिकारिक रिपॉजिटरी का हिस्सा नहीं है। हालांकि, Tripwire पैकेज को Epel रिपॉजिटरी के माध्यम से इंस्टॉल कि

  1. Tkinter में विंडो मैनेजर (wm) एट्रिब्यूट्स का उपयोग कैसे करें? Tkinter में विंडो मैनेजर (wm) एट्रिब्यूट्स का उपयोग कैसे करें?

    विंडो मैनेजर Tcl/Tk में उपलब्ध एक टूलकिट है जिसे wm कमांड से एक्सेस किया जा सकता है। wm कमांड आपको Tkinter विंडो की उपस्थिति और ज्यामिति सेट करने की अनुमति देता है। हम इस कमांड से शीर्षक, रंग, आकार और अन्य एट्रिब्यूट्स को नियंत्रित कर सकते हैं। wm कमांड में कई कीवर्ड होते हैं जिनका उपयोग इसके गुणों