मैं बूट के बाद कमांड कैसे चला सकता हूं?


27

मैं echo 1 > /proc/sys/kernel/sysrqsysrq कुंजियों को सक्षम करने के लिए प्रत्येक बूट पर सरल शेल कमांड चलाना चाहूंगा। जब बूट में यह किया जाना चाहिए, और मुझे इसे करने के लिए एक स्क्रिप्ट कहां रखनी चाहिए?


सभी लिनक्स वितरण पहले से ही समय निर्धारित करते हैं। हो सकता है मदरबोर्ड पर आपके RTC की बैटरी कम हो?
कुछ प्रोग्रामर ने

@JoachimPileborg वास्तव में मेरी मदरबोर्ड पर कोई RTC नहीं है :) यह RTC के बिना एक एम्बेडेड सिस्टम बोर्ड है।

इसके अलावा superuser.com/questions/183921/…
davidgo

2
मैं अलग करने के लिए विनती करता हूं, @davidgo। आपके द्वारा उद्धृत किए जा रहे संदर्भ एक बालक अप्रचलित हैं: जब crontab काम करता है, तो /etc/rc.local systemdआर्च लिनक्स जैसे डिस्ट्रोस पर नहीं होता है । उनका हवाला देकर, हम एक जंगली हंस का पीछा करने पर डेमेट्री भेज सकते हैं। कुछ अद्यतन, समय पर, किए जाने की आवश्यकता है।
MariusMatutiae

जवाबों:


37

डिस्ट्रोस पर निर्भर करता है।

यदि आप डेबियन-व्युत्पन्न डिस्ट्रोस पर हैं, तो कम से कम दो उचित स्थान हैं, /etc/rc.local और crontab। आप जड़ के रूप में crontab आह्वान कर सकते हैं,

   crontab -e

और फिर इस लाइन को डालें

   @reboot /home/my_name/bin/my_command

my_commandएक निष्पादन योग्य फ़ाइल कहां है ( chmod 755 my_command)।

वैकल्पिक रूप से, आप इस तरह से एक लाइन रख सकते हैं

   /home/my_name/bin/my_command

/etc/rc.local में, और इसे अंतिम रूप से निष्पादित किया जाएगा। किसी भी मामले में, pls याद रखें कि आप रूट पर्यावरण का उपयोग कर रहे हैं, आपका नहीं। इस कारण से, निरपेक्ष रास्तों का उपयोग करना सबसे अच्छा है।

यदि आप एक सिस्टम डिस्ट्रो (आर्क लिनक्स, फेडोरा 19, ...) पर हैं, तो पहला विकल्प (कॉन्टैब) अभी भी वैध है, जबकि दूसरा (/etc/rc.local) अब मौजूद नहीं है। इस मामले में, आपको सीखना चाहिए कि किस तरह से एक सेवा शुरू की जाए systemctl, लेकिन यह आपके साधारण प्रश्न के लिए सौदेबाजी से अधिक हो सकती है।


1
क्या आप फेडोरा के लिए इसकी पुष्टि कर सकते हैं? मेरी खोज मुझे बताती है कि r.local अभी भी चलेगा यदि यह मौजूद है और निष्पादन योग्य है, लेकिन डिफ़ॉल्ट रूप से सेट नहीं है। मैं परेशान परेशान माना जाता है कि अगर r rllocal नहीं चलता है! (मैं इसके लिए फेडोरा 18 के लिए केवल संदर्भ पा सकता हूं - मंचों.फ़ेडोरफोरम.org / showthread.php ? t=291889 )
davidgo

आप सही हैं, फेडोरा 19 में आप अभी भी यह कर सकते हैं, अगर आप वास्तव में चाहते हैं। लेकिन यह अब पैक नहीं किया गया है, docs.fedoraproject.org/en-US/Fedora/16/html/Release_Notes/… बुलेट 3.2.4। इसके अलावा, यह आर्क लिनक्स में पूरी तरह से मौजूद नहीं है, इसलिए मैंने इसके बारे में एक चेतावनी शामिल करना सुरक्षित समझा।
MariusMatutiae

2
शायद यह मेरे लिए एक अज्ञात उपनाम @bootहै, लेकिन अस्तित्व में नहीं है, बस @reboot debianhelp.co.uk/crontab.htm
जरथुस्त्र

19

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

यह 8 विशेष स्ट्रिंग्स में से एक है जो इसका समर्थन करता है।

crontab(5)मैन पेज को उद्धृत करना (मेरे Ubuntu 12.04 सिस्टम से):

पहले पाँच क्षेत्रों के बजाय, आठ विशेष तारों में से एक दिखाई दे सकता है:

string         meaning
------         -------
@reboot        Run once, at startup.
@yearly        Run once a year, "0 0 1 1 *".
@annually      (same as @yearly)
@monthly       Run once a month, "0 0 1 * *".
@weekly        Run once a week, "0 0 * * 0".
@daily         Run once a day, "0 0 * * *".
@midnight      (same as @daily)
@hourly        Run once an hour, "0 * * * *".

कृपया ध्यान दें कि स्टार्टअप, जहां तक @rebootचिंतित है, वह समय है जब क्रोन (8) डेमन स्टार्टअप। विशेष रूप से, यह कुछ सिस्टम डेमॉन, या अन्य सुविधाओं से पहले हो सकता है, स्टार्टअप थे। यह मशीन के बूट ऑर्डर अनुक्रम के कारण है।

यह बूट समय पर कुछ चलाने का एकमात्र तरीका होने से बहुत दूर है , लेकिन यह एक विकल्प है।


2
मूल प्रश्न से एक साल पहले यह उत्तर कैसे लिखा जा सकता है ?
मारियसमैट्यूटिया


+1 यह निर्दिष्ट करने के लिए कि विक्सी क्रोन की आवश्यकता है।
जेवियर एरियस

10

लिनक्स के बहुत सारे वेरिएंट (एक लंबे, लंबे समय में वापस जाने) में एक फ़ाइल /etc/rc.local है जो स्टार्टअप पर चलता है - आप बस इसमें कमांड जोड़ सकते हैं।

उस ने कहा, तुम भी ऐसा करने की जरूरत नहीं है। "सही" तरीका लाइन को कर्नेल में बदलना / जोड़ना होगा। 1 = /etc/sysctl.conf में

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.