टर्मिनल से विशिष्ट डेटाइम पर लिनक्स कैसे बंद करें?


46

ऐसा लगता है कि मैं sudo shutdownएक समय या मिनट निर्दिष्ट करके बंद कर सकता हूं ।

शटडाउन के लिए डेटाइम निर्दिष्ट करने का कोई तरीका है?

जवाबों:


77

आप इसे सीधे से कर सकते हैं shutdown command, देखें man shutdown:

SYNOPSIS
   /sbin/shutdown [-akrhPHfFnc] [-t sec] time [warning message]

[...]

   time   When to shutdown.

इसलिए, उदाहरण के लिए:

shutdown -h 21:45

जो कि shutdown -h21:45 पर चलेगी ।


इस कार्यक्षमता की पेशकश न करने वाले आदेशों के लिए, आप इनमें से किसी एक को आज़मा सकते हैं:

A. का उपयोग कर रहा है

atडेमॉन ठीक इस के लिए बनाया गया है। आपके ओएस के आधार पर, आपको इसे स्थापित करने की आवश्यकता हो सकती है। डेबियन आधारित प्रणालियों पर, इसके साथ किया जा सकता है:

sudo apt-get install at

आदेश देने के तीन तरीके हैं at:

  1. इसे पाइप करें:

    $ echo "ls > a.txt" | at now + 1 min
    warning: commands will be executed using /bin/sh
    job 3 at Thu Apr  4 20:16:00 2013
    
  2. उस कमांड को सेव करें जिसे आप टेक्स्ट फाइल में चलाना चाहते हैं, और फिर उस फाइल को पास करें at:

    $ echo "ls > a.txt" > cmd.txt
    $ at now + 1 min < cmd.txt
    warning: commands will be executed using /bin/sh
    job 3 at Thu Apr  4 20:16:00 2013
    
  3. आप atSTDIN से कमांड भी पास कर सकते हैं :

    $ at now + 1 min
    warning: commands will be executed using /bin/sh
    at> ls
    

    फिर, शेल CtrlDसे बाहर निकलने के लिए दबाएं atlsआदेश एक मिनट में चलाया जाएगा।

आप प्रारूप में बहुत सटीक समय दे सकते हैं [[CC]YY]MMDDhhmm[.ss], जैसे कि

$ at -t 201403142134.12 < script.sh

यह script.sh14 मार्च 2014 को 21:34 और 12 सेकंड पर स्क्रिप्ट चलाएगा ।

B. क्रोन का उपयोग करना (हालाँकि यह शटडाउन के लिए अच्छा विचार नहीं है)

अन्य दृष्टिकोण cronअनुसूचक का उपयोग कर रहा है जो विशिष्ट समय पर कार्यों को करने के लिए डिज़ाइन किया गया है। यह आमतौर पर उन कार्यों के लिए उपयोग किया जाता है जिन्हें दोहराया जाएगा लेकिन आप एक विशिष्ट समय भी दे सकते हैं। प्रत्येक उपयोगकर्ता का अपना "क्रॉस्टैब्स" होता है जो यह नियंत्रित करता है कि कौन सी नौकरियों को निष्पादित किया जाता है और कब। एक कोंट्राब का सामान्य प्रारूप है:

*     *     *     *     *  command to be executed
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of week (0 - 6) (Sunday=0)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

इसलिए, उदाहरण के लिए, यह lsहर दिन 14:04 बजे चलेगा :

04 14 * * * ls

एक विशिष्ट तिथि के लिए क्रोनजोब स्थापित करने के लिए:

  1. रनिंग करके एक नया कॉन्टैब बनाएं crontab -e। यह आपके पसंदीदा टेक्स्ट एडिटर की एक विंडो लाएगा।

  2. इस लाइन को उस फ़ाइल में जोड़ें जो अभी खुली है। यह विशेष उदाहरण 14:34 की 15 मार्च 2014 को चलेगा यदि उस दिन शुक्रवार है (तो ठीक है, यह एक बार से अधिक चल सकता है:

    34 14 15 5  /path/to/command        
    
  3. फ़ाइल सहेजें और संपादक से बाहर निकलें।

यह SO उत्तर केवल एक बार इसे चलाने का एक तरीका बताता है लेकिन मैंने कभी इसका उपयोग नहीं किया है इसलिए मैं इसके लिए वाउच नहीं कर सकता।


2
क्रोन के साथ एक शटडाउन का समय निर्धारण एक बहुत बुरी आदत है। अचानक आपको आश्चर्य होगा कि हर सोमवार सुबह सर्वर डाउन क्यों होता है।
ओकी

4
@Ouki Im खेद है, लेकिन मैं अभी नहीं देखता कि मैं शटडाउन के लिए क्रोन का उपयोग करने की सलाह कहां देता हूं। मैं एक कोष्ठक में उल्लेख करता हूं कि यह संभव है (यह है) लेकिन इसकी सिफारिश नहीं करते हैं। हम यहां व्यापक उत्तरों को पसंद करते हैं यही कारण है कि मैंने अन्य विकल्पों की पेशकश की, जबकि कभी भी सुझाव नहीं दिया कि उनका उपयोग किया जाना चाहिए shutdown। मुझे लगता है कि बुरा अनुभव के लिए हालांकि, यह सुखद नहीं हो सकता था।
terdon

2
यह सुझाव के बारे में अधिक है, जैसा कि आप shutdownशेड्यूलिंग और cronउसी उत्तर में मिला रहे हैं ... चाहे वह कार्य केंद्र हो या 1000 उपयोगकर्ता मेल सर्वर (मेरा दुखद अनुभव) एक बुरी आदत के परिणामों के बारे में अधिक है।
ओकी

3
मैं यहां ओकी के साथ हूं। चर्चा करते समय shutdown, किसी को शामिल नहीं करना चाहिए cron। (किसी ऐसे व्यक्ति के साथ, जो यह नहीं जानता कि यह एक भयानक विचार क्यों है।)
रिकी बीम

2
मैं थोड़ा भ्रमित हूं कि यह उत्तर प्रश्न द्वारा पहले से ही ली गई जानकारी के साथ लगता है। ऐसा लगता है कि ओपी जानता है कि शटडाउन के लिए समय कैसे निर्दिष्ट किया जाए, लेकिन यह जानना चाहता है कि दिनांक और समय दोनों को कैसे निर्दिष्ट किया जाए। यह इस जवाब में संबोधित किया गया है, लेकिन यह प्रदान की जाती है जैसे कि यह अतिरिक्त जानकारी है, जब यह है कि पहली जगह में क्या पूछा जा रहा था।
वेबल

24

नहीं, आप शटडाउन कमांड पर एक तारीख निर्दिष्ट नहीं कर सकते हैं लेकिन दो विकल्प मौजूद हैं:

1) सबसे आसान कमांड में उपयोग करना है । निम्नलिखित उदाहरण shutdown +5एक विशिष्ट समय और दिन पर निष्पादित होगा :

echo "shutdown +5" | at 10:05am 2019-01-19

2) यदि आपको कैलकुलेटर का उपयोग करने में कोई आपत्ति नहीं है और 24 घंटे (24 * 60 = 1440 मिनट) में बंद करना चाहते हैं और आपको पूरा यकीन है कि सिस्टम बीच में रिबूट नहीं होगा:

shutdown -r +1440

2
ऊपर मेरे उत्तर का कारण: टेर्डन का उत्तर सही है और बहुत व्यापक है, लेकिन बहुत ही
गंदी

2
यदि गपशप से आपका मतलब मददगार और व्यापक है ... तो आपका जवाब भी atकमांड की व्याख्या नहीं करता ।
एंथनी

@Anthony मेरा मानना ​​है कि इस तरीके का उपयोग atकोई स्पष्टीकरण नहीं है। मैं देख सकता हूं कि आप अन्यथा विश्वास कर सकते हैं। अलग मन, अलग विचार।
ndemou

यह उत्तर अब सत्य नहीं है। वैन स्मुरेनबर्ग, अपस्टार्ट, और सिस्टमड shutdownकमांड एक तिथि विनिर्देशन की अनुमति नहीं देते हैं। लेकिन नॉश टूलसेट का shutdown, लंबे समय तक बीएसडी सिंटैक्स का समर्थन करता है।
JdeBP

@ जेडीबीपी: आप दोनों में से कौन सा विकल्प मानते हैं कि अब सच नहीं है और क्या आपने परीक्षण किया है और सत्यापित किया है कि वे नहीं हैं? मैंने सिर्फ 3 सिस्टम (Ubuntu 18.04,16.04 & CentOS 7) में दोनों कमांड का परीक्षण किया है और उन्होंने ठीक काम किया है। आपकी शेष टिप्पणी के बारे में ("द वैन स्मुरेनबर्ग ...") मुझे यकीन नहीं है कि यह आपके कथन का स्पष्टीकरण है कि यह उत्तर अब सही नहीं है या सामान्य टिप्पणी नहीं है। हो सकता है कि आपको थोड़ा और जानकारी के साथ उत्तर पोस्ट करना चाहिए।
ndemou

6

यह 12:00 पर आपके सिस्टम को बंद कर देगा:

$ sudo shutdown -h 12:00

विकल्प:

-h, -P, --poweroff

मशीन को पावर-ऑफ कर दें।

-r, --reboot

मशीन को रिबूट करें।

-c

एक लंबित शटडाउन रद्द करें।


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