पहली बार जब मैंने एक व्यस्त सर्वर का प्रबंधन किया, तो मुझे इसे रीबूट करने के लिए उपयुक्त समय की प्रतीक्षा करनी पड़ी जब लोग इसका उपयोग नहीं कर रहे थे। मैंने देखा कि यह लगभग 3 बजे हुआ। फिर, मैंने अपने आप से सोचा:"ठीक है, यह असुविधाजनक है, मुझे अपने सर्वर को रीबूट करने के लिए एक अनुचित समय पर जागना होगा।" पांच सेकंड बाद मुझे एहसास हुआ कि यह एक बेवकूफी भरा विचार था। "यह लिनक्स है, मुझे यकीन है कि इस तरह के एक सरल कार्य को स्वचालित करना आसान है।" और इसलिए, at
खोजा गया था।
उपयोगिता का उपयोग करना बहुत आसान है। आप बस समय और तारीख को कमांड लाइन पैरामीटर के रूप में पास करते हैं, और फिर एक या अधिक कमांड दर्ज करते हैं जिसे आप निष्पादित करना चाहते हैं।
एक सर्वर पर ऐसा प्रोग्राम होना उपयोगी है क्योंकि आप अक्सर चाहते हैं कि यह कार्रवाई न करे। लेकिन डेस्कटॉप पर भी at
एक बहुत ही सुविधाजनक उपकरण हो सकता है। उदाहरण के लिए, मान लें कि आप एक बहुत बड़ी फ़ाइल डाउनलोड करते हैं। आप अपने पीसी को देर रात तक बंद करने के लिए शेड्यूल कर सकते हैं। साथ ही, आप at
tell बता सकते हैं आपको उन चीजों के बारे में याद दिलाने के लिए जो आपको करने की आवश्यकता है। आप जिस भी कार्रवाई के बारे में सोच सकते हैं, उसे सही टूल और कमांड लाइन विकल्पों के साथ शेड्यूल किया जा सकता है।
विभिन्न Linux वितरणों पर "at" कैसे स्थापित करें
डेबियन पर या डेबियन पर आधारित वितरण, रन करें:
sudo apt install at
फेडोरा पर, दौड़ें:
sudo dnf install at
आर्क लिनक्स पर "एट" स्थापित करने के लिए:
sudo pacman -S at
और, ओपनएसयूएसई पर:
sudo zypper install at
“at” डेमॉन और रन सर्विस का स्वचालित स्टार्टअप सक्षम करें
कुछ वितरण स्वचालित रूप से बूट पर "एट" डेमॉन के स्टार्टअप को सक्षम करेंगे। अन्य नहीं करेंगे। इसके साथ जांचें:
systemctl is-enabled atd.service
यदि यह "अक्षम" कहता है, तो इसे इसके साथ सक्षम करें:
sudo systemctl enable atd.service
और डेमॉन शुरू करें:
sudo systemctl start atd.service
कमांड पर "एट" शेड्यूल करने के लिए दिनांक और समय कैसे निर्दिष्ट करें
आप निम्न में से किसी एक फॉर्म का उपयोग कर सकते हैं।
1. निर्दिष्ट मिनटों, घंटों, दिनों या हफ्तों के बाद कमांड चलाएँ।
at now + 10 minutes at now + 10 hours at now + 10 days at now + 10 weeks
2. सही समय पर दौड़ें:
at 23:10
अगर यह पहले से ही 12:00 बजे है, और आप दौड़ते हैं:
at 11:00
फिर आदेश कल, निर्दिष्ट समय पर चलेगा।
3. सटीक समय और तारीख पर चलाएं:
at 12:00 December 31
समय और तारीख निर्दिष्ट करने के अन्य वैकल्पिक तरीके ऑनलाइन "पर" मैनुअल में पाए जा सकते हैं।
“at” कमांड का उपयोग कैसे करें
जैसा कि आपने देखा होगा, निर्धारित समय निर्दिष्ट करने के बाद, आपको एक संकेत पर छोड़ दिया जाता है जो निम्न छवि की तरह दिखता है:
यहां, आप केवल उन आदेशों को दर्ज करते हैं जिन्हें आप चलाना चाहते हैं। ये आपके वर्तमान उपयोगकर्ता नाम के तहत निष्पादित होंगे। वह कमांड टाइप करें जिसे आप निर्दिष्ट समय पर चलाना चाहते हैं और एंटर दबाएं। यदि आप बाद की कमांड चलाना चाहते हैं, तो उसी प्रक्रिया को दोहराएं। जब आपका काम हो जाए, तो Ctrl press दबाएं + डी . <EOT>
जब आप उन चाबियों को दबाते हैं, तो वह समय दिखाई देगा जब कमांड निष्पादित किया जाएगा।
यदि आप ऐसे कमांड चलाना चाहते हैं जिनके लिए रूट विशेषाधिकारों की आवश्यकता है, तो sudo
. का उपयोग न करें . याद रखें, कमांड अनअटेंडेड चलेगी, इसलिए sudo
काम नहीं करेगा क्योंकि कोई भी पासवर्ड दर्ज नहीं कर सकता है। इसके बजाय, पहले रूट उपयोगकर्ता के रूप में लॉग इन करें:
sudo -i
और फिर सामान्य रूप से "at" कमांड का उपयोग करें। अब, आपके नियमित उपयोगकर्ता के बजाय सभी आदेशों को रूट के रूप में निष्पादित किया जाएगा।
अपना आदेश निर्धारित करने के बाद, टाइप करें:
exit
यह आपको रूट उपयोगकर्ता खाते से लॉग आउट कर देगा।
इस स्क्रीनशॉट में दिए गए उदाहरण में, दो मिनट में शटडाउन शेड्यूल किया गया था। आप इसे अपने उद्देश्यों के लिए अनुकूलित कर सकते हैं।
यदि किसी निर्धारित कार्य को चलाने का मौका मिलने से पहले कंप्यूटर को बंद कर दिया जाता है, तो यह बस अगले बूट पर चलेगा (यदि इसका समय बीत चुका है)। उदाहरण के लिए, यदि आप किसी कार्य को अपराह्न 3 बजे निर्धारित करते हैं, दोपहर 2 बजे शट डाउन करते हैं, और 4 बजे पावर ऑन करते हैं, तो कार्य सायं 4 बजे चलेगा।
अनुसूचित कार्य देखें और/या निकालें
आप इसके साथ कतारबद्ध कार्य देख सकते हैं:
atq
या
at -l
यह देखने के लिए कि किसी कार्य में कौन से आदेश निर्धारित हैं, उस कार्य के उपसर्ग संख्या का उपयोग करें।
at -c 22
आउटपुट की अंतिम पंक्तियाँ आपको आपके द्वारा शेड्यूल किए गए आदेश दिखाएँगी।
किसी नौकरी को हटाने के लिए, उसके उपसर्ग संख्या का इस तरह उपयोग करें:
atrm 22
ग्राफ़िकल एप्लिकेशन चलाने के लिए "at" शेड्यूल करें
सबसे पहले, अपने वर्तमान प्रदर्शन चर मान का पता लगाएं:
echo $DISPLAY
आमतौर पर, यह :0
होगा ।
शेड्यूल at
चलाने के लिए। "एट" प्रॉम्प्ट में, DISPLAY
सेट करें पिछले मान के लिए परिवर्तनशील (export DISPLAY=:0
), और अपना वांछित ग्राफिकल एप्लिकेशन चलाएं।
पिछले स्क्रीनशॉट में उपयोग किए गए आदेशों का परिणाम निम्न होगा।
अब ग्राफिकल ऐप "आपके चेहरे पर" होगा और आपको एक महत्वपूर्ण काम की याद दिलाएगा जो फोन अलार्म से बेहतर होगा।
निष्कर्ष
"पर" का उपयोग करना आसान है। कठिन हिस्सा अपनी इच्छा के अनुसार कार्रवाई करने के लिए एक रचनात्मक तरीका ढूंढ रहा है। लेकिन आप अपनी इच्छानुसार कुछ भी कर सकते हैं, जैसे डाउनलोड शुरू करना, प्रोग्राम बंद करना, अपने कंप्यूटर को स्टैंडबाय में रखना, इत्यादि।