मैं एक रात के रिबूट को कैसे शेड्यूल कर सकता हूं?


81

मैं एक विशेष अनुप्रयोग, XBMC चलाने वाले कुछ आवधिक मुद्दों पर चल रहा हूं। अगर मैं नियमित रूप से XBMC का उपयोग करता हूं, तो मुझे कोई समस्या नहीं है, लेकिन अगर मैं इसे 12 घंटे से अधिक समय तक अनअटेंडेड छोड़ता हूं तो मुझे इसे फिर से काम करने के लिए रिबूट करने की आवश्यकता है।

मुझे पता है कि एक अनुसूचित रिबूट का जवाब नहीं है, लेकिन जब तक मैं उस समस्या का पता नहीं लगा सकता, मुझे हर सुबह रिबूट का समय निर्धारित करने की आवश्यकता है, तो मेरी पत्नी इसका उपयोग कर सकती है यदि मैं दूर हूं और यह खिड़की से बाहर नहीं निकलती है :)

कोई लेने वाला?

जवाबों:


133

मैं क्रोन का उपयोग करूँगा (पहले से ही स्थापित होना चाहिए):

crontab संपादित करें:

sudo crontab -e

पहली बार आपको अपना पसंदीदा संपादक चुनना होगा (जैसे नैनो)

एक लाइन डालें जैसे

0 4   *   *   *    /sbin/shutdown -r +5

तल पर। स्पष्टीकरण:

m      h    dom        mon   dow       command
minute hour dayOfMonth Month dayOfWeek commandToRun

इतनी लाइन

  0 4   *   *   *    /sbin/shutdown -r +5

आपके सिस्टम को हर दिन सुबह 4:05 बजे रिबूट करेगा। (4:00 am + 5 मिनट)

Ctrl+ X, Y, Enter(नैनो का उपयोग करके) crontab से बाहर आप मिलना चाहिए

नोट: यदि आप चलाने के लिए हो सकता है crontab -e, रूट के रूप में क्योंकि शट डाउन रूट की जरूरत है। crontab -eवास्तविक crontab के बजाय / tmp में एक फ़ाइल खोलता है ताकि यह त्रुटियों के लिए आपके नए crontab की जाँच कर सके। यदि कोई त्रुटि नहीं है, तो आपका वास्तविक क्रॉस्टैब अपडेट किया जाएगा।


1
जानकारी के लिए धन्यवाद। केवल एक चीज जो मुझे करनी थी वह थी मेरे लिए काम करने के लिए कमांड / sbin / शटडाउन को बदलना।

1
यह मेरे लिए काम नहीं किया। दोनों का उपयोग कर crontab -eऔर sudo crontab -eएक अस्थायी स्थान के लिए फ़ाइल की बचत होती है जब आप बाहर निकलने के लिए (जैसे /tmp/crontab.Y88XQl/crontab) जाने के लिए और काम नहीं चलता है। मैं सीधे संपादित करने / etc / crontab मजबूर किया गया था
वाल

@wal "crontab -e वास्तविक crontab के बजाय / tmp में एक फ़ाइल खोलता है ताकि वह त्रुटियों के लिए आपके नए crontab की जाँच कर सके और आपको उन त्रुटियों के साथ अपने वास्तविक crontab को ओवरराइट करने से रोक सके। यदि कोई त्रुटियाँ नहीं हैं, तो आपका वास्तविक crontab होगा। अद्यतन किया जा।" unix.stackexchange.com/questions/197504/…
क्रिस

14

यह /etc/cron.daily/zz-rebootकाम करने के लिए जोड़ना चाहिए:

#!/bin/sh
shutdown -r now

और sudo chmod a+x /etc/cron.daily/zz-reboot। "Zz" उपसर्ग इसे उस निर्देशिका में अन्य सभी लिपियों से अंतिम रूप से चलाने के लिए बाध्य करेगा। /etc/crontabयह देखने के लिए जांचें कि वास्तव में दिन का कौन सा समय होगा:

grep daily /etc/crontab | awk '{print $2 ":" $1}'

यदि वह काम नहीं करेगा, तो एक "नियमित" क्रोन प्रविष्टि भी काम कर सकती है sudo crontab -e

MINUTE HOUR * * * shutdown -r now

और अंत में, यदि आप केवल एक बार रिबूट करना चाहते हैं, तो आप उपयोग कर सकते हैं at:

echo "shutdown -r now" | sudo at 04:30

जहाँ तक मुझे पता है कि यह आपके सिस्टम को उसी समय रिबूट करेगा जब आपने हर दिन इस फाइल को बनाया था, तो कृपया मुझे सही करें अगर मैं गलत हूँ
sBlatt

1
बिल्कुल नहीं: यह जो भी समय cron.daily चलाता है, जो थोड़ा अप्रत्याशित है, प्रति दिन एक बार रिबूट होगा। यदि आपने anacronस्थापित नहीं किया है, तो यह स्थानीय समयानुसार 06:25 है, जो ठीक हो सकता है (या यदि आप जल्दी उठने वाले हैं तो भयानक हो सकते हैं)। यदि आप करते हैं, जो मुझे लगता है कि डिफ़ॉल्ट है, तो यह अच्छी तरह से 10 मिनट के बाद हो सकता है जब मशीन प्रत्येक दिन पहली बार चालू होती है, जो कि infuriating होगी। किसी भी दर पर, इसके cron.dailyलिए एक अच्छा फिट नहीं है।
poolie

cron.daily मेरे सिस्टम पर हर रात 6:25 पर चलते हैं। यह आमतौर पर 06:00 और 06:59 के बीच एक यादृच्छिक मिनट के लिए सेट किया जाता है। अपने सिस्टम पर समय के लिए अपना / etc / crontab देखें
elzapp

1
इसके लिए cron.daily का उपयोग करने में सबसे बड़ी समस्या यह है कि यह cron.daily में अन्य नौकरियों के साथ हस्तक्षेप कर सकता है।
इलाज़ैप

1

आपको कीस कुक द्वारा दिए गए निर्देशों का उपयोग करके एक स्क्रिप्ट बनानी चाहिए ...

आप बस किसी भी टेक्स्ट एडिटर में नीचे दी गई जानकारी को कॉपी और पेस्ट कर सकते हैं और zz-rebootसुझाए गए डायरेक्टरी में फाइल बना सकते हैं ।

उसके बाद बस फ़ाइल पर राइट क्लिक करना याद रखें और इसे निष्पादन अनुमति दें। यदि आपको लगता है कि टर्मिनल का उपयोग करने में क्या करना है:

sudo chmod +x /etc/cron.daily/zz-reboot

बेहतर यह समझने के लिए कि आप क्या याद कर रहे हैं कि /etcफ़ोल्डर में आप आमतौर पर कॉन्फ़िगरेशन फ़ाइलें ढूंढते हैं और वहां आप पा सकते हैं cron.hourly, cron.dailyऔर अन्य क्रोन फ़ोल्डर। क्रोन एक निश्चित समय में अनुप्रयोगों और स्क्रिप्ट को निष्पादित करने का ध्यान रखता है।

यदि आप रिबूट समय के बारे में सख्त होना चाहते हैं तो अंक

sudo crontab -e

तो आप crontabरूट उपयोगकर्ता के लिए संपादित कर सकते हैं ।

यदि आप इसे ग्राफिक रूप से करना बेहतर समझते हैं तो आप सॉफ़्टवेयर सेंटर ग्नोम-शेड्यूल से इंस्टॉल कर सकते हैं। यदि आप gnome-scheduleरूट उपयोगकर्ता के लिए संशोधित करना चाहते हैं , तो सुनिश्चित करें कि आप इसे टर्मिनल से चलाते हैं:

gksudo gnome-schedule

चारों ओर खेल मज़ा है! :)

ps: महान बिंदु sBlatt! मैं सोच रहा था कि क्या cron.dailyनिष्पादन के समय को मैन्युअल रूप से लागू करने का कोई तरीका है ।


/ Etc / crontab में समय को समायोजित करने के लिए एक प्रविष्टि है, लेकिन afaik, अगर कंप्यूटर इस समय नीचे है, तो यह कंप्यूटर शुरू होने के कुछ मिनट बाद निष्पादित होगा
sBlatt

1

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

टर्मिनल खोलें (ctrl + T)

sudo nano /etc/crontab

नीचे तक सभी तरह से स्क्रॉल करें और नीचे कमांड दर्ज करें

00 6 * * * root reboot 

यह प्रतिदिन सुबह 6 बजे रिबूट के लिए सेट किया गया है, और एंटर दबाएं

अगर आप रोजाना रात 11 बजे पॉवरऑफ शेड्यूल करना चाहते हैं तो आप प्रवेश कर सकते हैं

00 23 * * * root poweroff

मुझे अभी भी यह पता लगाने की ज़रूरत है कि क्रोनजॉब का उपयोग करने वाली मशीन को कैसे डाउन किया जाए। एक बार इसका पता लगाने के बाद मैं इस उत्तर को संपादित करूंगा।

PS यह किसी भी रूप में मेरी पहली उत्तर पोस्टिंग है; आशा है कि यह किसी की मदद करता है !! : डी


3
अधिक विस्तार और स्वचालित सिंटैक्स सत्यापन (के माध्यम से crontab -e) के साथ 5 साल पहले एक ही सामग्री का जवाब है ।
डेविड फ़ॉस्टर

1
पुनः आरंभ करना न भूलें cron:sudo /etc/init.d/cron restart
brcebn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.