मैं एक निश्चित समय पर हर दिन रिबूट करने के लिए उबंटू को कैसे कॉन्फ़िगर करूं?


11

टर्मिनल या बैश फ़ाइल का उपयोग करके, मैं उबंटू को हर दिन रिबूट करने के लिए कैसे कॉन्फ़िगर कर सकता हूं (उदाहरण के लिए) 3 AM?

दूसरे शब्दों में, मैं टर्मिनल के माध्यम से एक स्वचालित रिबूट शेड्यूल करना चाहता हूं।

मुझे Google या AskUbuntu पर इससे संबंधित कुछ भी नहीं मिला है, और मैं सामान्य रूप से उबंटू में काफी नया हूं (बस मुझे मेरा नया रास्पबेरी पाई मिला है)।

जवाबों:


13

crontab -eकमांड का उपयोग करके crontab प्रविष्टियों को संपादित करें (डिफ़ॉल्ट रूप से यह वर्तमान लॉग-इन उपयोगकर्ताओं crontab को संपादित करेगा) और निम्न पंक्ति जोड़ें:

0 3 * * * echo $PASSWD | sudo -S reboot
#change $PASSWD with your password

फ़ाइल सहेजें और के साथ नए crontab प्रविष्टि की जाँच करें crontab -l

यदि आप केवल उपयोग करना चाहते हैं:

0 3 * * * sudo reboot

crontab के रूप में, यह सामान्य रूप से काम नहीं करता है और आपको यह देखने के लिए इस पोस्ट की जांच करनी चाहिए कि आप इसे कैसे काम कर सकते हैं।

या, rebootकमांड के उपयोग के लिए पूर्ण पथ की पेशकश करने वाले रूट यूजर के क्रॉस्टैब फ़ाइल में सरल को क्रॉस्टैब जोड़ें sudo crontab -e:

0 3 * * * /sbin/reboot

नहीं आप रूट के crontab में इस डाल सकता है और नहीं भी के बारे में चिंता हैecho $PASSWD
दान

मुझे इसकी जानकारी नहीं थी। क्या यह क्रोन का एक बग है या यह सामान्य है? मेरा मतलब है, यदि आप क्रॉस्टैब को रूट के रूप में संपादित करते हैं, तो कार्य तभी निष्पादित होगा जब आप रूट के रूप में लॉग इन होंगे? मुझे लगता है कि यह गलत है। (या होना चाहिए)।
निकटक्स

@ RaduRădeanu यह सच नहीं है। रूट क्रोनॉजर रूट के रूप में लॉग इन किए बिना चलेगा।
ऑरेंजट्यूक्स

@OrangeTux आपके पास सही है, क्षमा करें, मैंने कहा कि क्योंकि मैंने rebootकमांड के लिए पूरा रास्ता दिए बिना परीक्षण किया था। नहीं तो काम नहीं करेगा। मेरे नए संपादन देखें।
रादु राईडेनू

@NikTh मैं गलत था, उपरोक्त टिप्पणी देखें ।
रादु राईडेनू

1

ध्यान दें कि टेक्स्ट फ़ाइल में अपना स्पष्ट-पाठ पासवर्ड डालना एक अच्छा विचार नहीं है, इसलिए यह नौकरी पाने के लिए रूट के रूप में सबसे अच्छा है। आमतौर पर, crontabकमांड के माध्यम से रूट के क्रैस्टैब को संपादित करने के बजाय , जो प्रविष्टियों को /var/spool/cron/crontabsकुछ हद तक गुप्त स्थान पर छोड़ देता है , मैं उन्हें स्पष्ट रूप से दर्ज करना पसंद करता हूं /etc/cron.d। Cron.d में प्रविष्टियाँ सिस्टम crontab प्रविष्टियों के रूप में चलाई जाती हैं, उन्हें कॉन्फ़िगर फ़ाइलों के रूप में माना जाता है, ताकि उन्हें सिस्टम रिबूट, अपडेट और अपग्रेड से बचे रहें, और आप चल रहे उपयोगकर्ता को स्पष्ट रूप से निर्दिष्ट कर सकें:

echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am

यदि आपको किसी विशिष्ट समय की आवश्यकता नहीं है, लेकिन इसके बजाय, बस चाहते हैं कि सिस्टम एक बार रिबूट हो, एक निष्पादन योग्य या स्क्रिप्ट जोड़ें /etc/cron.dailyऔर यह स्वचालित रूप से एक पूर्व निर्धारित समय पर चलेगा (डिफ़ॉल्ट रूप से 6:25 AM सिस्टम समय):

echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me

ध्यान दें कि चेतावनी के बिना केवल सिस्टम को रिबूट करने के बजाय, मैं 5 मिनट की चेतावनी सेट कर रहा हूं, इसलिए यदि कोई भी लॉग इन है, तो उनके पास अपने काम को बचाने का मौका है, या sudo shutdown -cसिस्टम को खींचने के बजाय शटडाउन को बाधित करना है। उनके नीचे से। यदि आप अधिक पर्याप्त चेतावनी देना चाहते हैं (उदाहरण के लिए, का उपयोग करें shutdown -h 60और कमांड को 2:00 पूर्वाह्न पर चलाना चाहते हैं और आप उपयोगकर्ताओं को उदार 1-घंटे की चेतावनी देंगे) , तो आप इन्हें तदनुसार समायोजित कर सकते हैं ।

यह मेरे पिछले अनुभव पर आधारित है; कुछ बिंदु पर आप काम करने में लॉग इन होंगे जब क्रॉस्टैब एंट्री चलती है, और अगर यह बिना चेतावनी के रिबूट होता है तो आप बहुत दुखी होंगे।


-1

आप ऐसा क्यों चाहते हैं - या करने की आवश्यकता है? जबकि यह करना बहुत आसान है, लिनक्स के साथ लगभग निश्चित रूप से एक बेहतर समाधान है जिसमें रिबूट शामिल नहीं है। विंडोज के विपरीत, लिनक्स आधारित ओएस को कर्नेल अपग्रेड को छोड़कर लगभग किसी भी चीज के लिए रिबूट की आवश्यकता नहीं है।

यदि आप समझाते हैं कि आप क्या हासिल करने की कोशिश कर रहे हैं तो हम आपकी बेहतर मदद कर सकते हैं।


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