भविष्य में किसी समय होने वाली एकल घटना को शेड्यूल करने का एक सरल तरीका क्या है?


15

अक्सर ऐसा होता है कि मैं चाहता हूं कि मेरा कंप्यूटर एक ही काम करे, लेकिन अभी नहीं। उदाहरण के लिए, मैं इसे 30 मिनट में सूचित कर सकता था कि यह काम छोड़ने का समय है। या हो सकता है कि मैं चाहता हूं कि यह अब से 2 घंटे पहले एक जटिल परीक्षा हो, जब मुझे यकीन है कि बाकी सभी लोग कार्यालय से चले जाएंगे।

मुझे पता है कि मैं दिन के एक विशेष समय में चलाने के लिए क्रॉन जॉब बना सकता हूं, लेकिन यह बहुत काम की तरह लगता है जब मैं चाहता हूं कि कुछ सरल हो जैसे "इस स्क्रिप्ट को 10 मिनट में चलाएं", इसके अलावा मुझे यह पता लगाना होगा किस समय यह वास्तव में अब से एक्स मिनट / घंटे / दिन होगा, और फिर इसे समाप्त होने के बाद क्रोन नौकरी को हटा दें।

बेशक मैं सिर्फ इस स्क्रिप्ट को लिख सकता हूं और इसे पृष्ठभूमि में चला सकता हूं:

sleep X
do_task

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

क्या इस समस्या का पहले से स्थापित समाधान नहीं है?


7
मेरा अनुमान है कि आप के पार चला नहीं किया है पर अभी तक?
jw013

यह बहुत ही बुनियादी लग सकता है ... लेकिन क्या आपके सिस्टम में चेतावनियों के साथ किसी तरह का कैलेंडर / टूडू लिस्ट चीज नहीं है?
जोसनोफेरेरा

जवाबों:


27

मैं एक साधारण स्क्रिप्ट का उपयोग करता हूं at:

#!/bin/bash
# email reminder notes using at(1)...

read -p "Time of message? [HH:MM] " time
read -p "Date of message? [dd.mm.yy] " date
read -p "Message body? " message

at "$time" "$date" <<EOF
echo "$message" | mailx -s "REMINDER" me@gmail.com
EOF

आप बस के रूप में आसानी से पाइप कर $messageसकते हैं notify-sendया dzenयदि आप एक ईमेल के बजाय एक डेस्कटॉप अधिसूचना चाहता था।


9
सापेक्ष समय ( + 2 days) और विभिन्न स्वरूपों ( YYYY-MM-DD) का भी उपयोग कर सकते हैं । अधिक जानकारी के लिए मैनपेज से परामर्श करें।
Arcege करें

हां: हमें
एंटीपोडियंस

मैं आमतौर पर हमें स्क्रिप्ट्स को एक करने के लिए कहता हूं। नौकरी पर शेड्यूल करने का मेरा पसंदीदा आलसी तरीका "अब +5 मिनट" है जो घंटों या दिन भी हो सकता है।
जॉर्ज एम

+1 स्क्रिप्ट के लिए और डीज़ेन और सूचित-भेजने का उल्लेख करने के लिए जो मैंने नहीं सुना था।
जो

डीजेन पुनर्निर्देशन मेरे लिए काम नहीं कर रहा है। unix.stackexchange.com/q/38362/4143
Cory Klein

6

उपयोग करने का सामान्य तरीका atहै

एक स्क्रिप्ट लिखें जो आप करना चाहते हैं। सभी बाहरी कमांड के लिए पूर्ण पथ का उपयोग करें, आउटपुट को एक उचित लॉग-फ़ाइल में लॉग करें या मेल करें।

स्क्रिप्ट का परीक्षण करें।

इसके साथ सक्रिय करें at -f YOURSCRIPT -t MMDDhhmm

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