परिचय
जब मैं लिनक्स सिस्टम को बूट करता हूँ और लॉग ऑन करता हूँ, तो पर्दे के पीछे होने वाली घटनाएँ मुझे हमेशा आकर्षित करती हैं। बेयर मेटल पर पावर बटन दबाने या वर्चुअल मशीन शुरू करने से घटनाओं का एक क्रम शुरू होता है जो एक पूरी तरह कार्यात्मक सिस्टम की ओर ले जाता है - कभी-कभी एक मिनट से भी कम समय में। यही बात तब भी लागू होती है जब आप लॉग ऑफ करते हैं या सिस्टम को शटडाउन करते हैं।
इसे और दिलचस्प और मजेदार बनाता है यह तथ्य कि आप ऑपरेटिंग सिस्टम को बूट होने पर और लॉगऑन या लॉगआउट पर कुछ खास कार्रवाइयाँ करने के लिए निर्देशित कर सकते हैं।
इस डिस्ट्रो-अज्ञेय लेख में हम लिनक्स में इन लक्ष्यों को प्राप्त करने के पारंपरिक तरीकों पर चर्चा करेंगे।
रिबूट या स्टार्टअप के दौरान लिनक्स स्क्रिप्ट निष्पादित करना
स्टार्टअप के दौरान कमांड निष्पादित करने या स्क्रिप्ट चलाने के दो पारंपरिक तरीके हैं:
विधि #1 - क्रॉन जॉब का उपयोग करें
सामान्य प्रारूप (मिनट/घंटा/महीने का दिन/महीना/सप्ताह का दिन) के अलावा जिसका व्यापक रूप से शेड्यूल इंगित करने के लिए उपयोग किया जाता है, क्रॉन शेड्यूलर @reboot निर्देश के उपयोग की भी अनुमति देता है। यह निर्देश, स्क्रिप्ट के पूर्ण पथ के बाद, मशीन के बूट होने पर इसे चलाने का कारण बनेगा।
हालाँकि, इस दृष्टिकोण के दो चेतावनी हैं:
- क) क्रॉन डेमॉन चल रहा होना चाहिए (जो सामान्य परिस्थितियों में होता है), और
- ख) स्क्रिप्ट या क्रॉनटैब फ़ाइल में आवश्यक वातावरण चर शामिल होने चाहिए (अधिक विवरण के लिए यह 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 पर प्रत्येक ट्यूटोरियल अनुभवी लिनक्स सिस्टम प्रशासकों की एक टीम द्वारा बनाया जाता है ताकि यह हमारे उच्च-गुणवत्ता मानकों को पूरा करे।