लिनक्स में हर 10, 20 और 30 सेकंड में क्रॉन जॉब कैसे चलाएं


संक्षिप्त: क्रॉन जॉब शेड्यूलर सेकंड के अंतराल पर चलने के लिए शेड्यूलिंग जॉब का समर्थन नहीं करता है। इस लेख में, हम आपको Linux में हर 30 सेकंड या x सेकंड में क्रॉन जॉब चलाने में मदद करने के लिए एक सरल ट्रिक दिखाएंगे।

क्या आप क्रॉन जॉब शेड्यूलर के लिए नए हैं और हर 30 सेकंड में जॉब चलाना चाहते हैं? दुर्भाग्य से, क्रॉन इसकी अनुमति नहीं देता है। आप क्रॉन जॉब को प्रत्येक x सेकेंड चलाने के लिए शेड्यूल नहीं कर सकते हैं। क्रोन केवल कम से कम 60 सेकंड (यानी 1 मिनट) के समय अंतराल का समर्थन करता है। हर 30 सेकंड में क्रॉन जॉब चलाने के लिए, आपको नीचे बताई गई ट्रिक का इस्तेमाल करना होगा।

इस गाइड में, हम हर x सेकंड में जॉब या कमांड या स्क्रिप्ट चलाने के लिए कई अन्य उदाहरण भी शामिल करेंगे। लेकिन लिनक्स में हर 30 सेकंड में क्रॉन जॉब कैसे चलाना है, इसे कवर करके शुरू करते हैं।

लिनक्स में हर 30 सेकंड में क्रॉन जॉब चलाएं

उपरोक्त कार्य को प्राप्त करने के लिए, crontab में दो प्रविष्टियाँ बनाएँ। पहला कार्य प्रत्येक मिनट (60 सेकंड) के बाद दिनांक कमांड चलाएगा, फिर दूसरी प्रविष्टि निर्दिष्ट समय (इस मामले में 30 सेकंड) के लिए देरी करने के लिए स्लीप कमांड का उपयोग करती है और दिनांक कमांड को फिर से शुरू करती है।

आपको क्रोंटैब (क्रॉन टेबल) में निम्नलिखित प्रविष्टियां जोड़ने की आवश्यकता है, और इसे निम्नलिखित क्रोंटैब कमांड का उपयोग करके संपादित करने के लिए खोलें (-e ध्वज संपादन सक्षम करता है):

# crontab -e

फ़ाइल में निम्न क्रॉन प्रविष्टियाँ जोड़ें।

* * * * * date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log 

अब यदि आप /tmp/date.log फ़ाइल की सामग्री की जाँच करते हैं, तो आपको यह देखना चाहिए कि दिनांक आदेश प्रत्येक 30 सेकंड में चलाया जाता है। हम फ़ाइल को देखने के लिए कैट कमांड का उपयोग कर सकते हैं और पुष्टि करने के लिए टाइम कॉलम की जांच कर सकते हैं:

$ cat /tmp/date.log

आप रीयल-टाइम में फ़ाइल को अपडेट होते हुए भी देख सकते हैं। ऐसा करने के लिए -f फ्लैग के साथ टेल कमांड का उपयोग करें।

$ tail -f /tmp/date.log

लिनक्स में हर 10 सेकंड में क्रॉन जॉब चलाएं

आइए और उदाहरण देखें। यह दिखाता है कि हर 10 सेकंड में क्रॉन जॉब कैसे चलाया जाता है। ट्रिक केवल सेकंड के स्लीप कमांड नंबर के साथ खेलने के लिए है:

* * * * * date>> /tmp/date.log
* * * * * sleep 10; date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log
* * * * * sleep 50; date>> /tmp/date.log

एक बार फिर यदि हम /tmp/date.log फ़ाइल देखते हैं, तो इसे उपरोक्त crontab प्रविष्टियों के आधार पर हर 10 सेकंड में अपडेट किया जाना चाहिए:

$ tail -f  /tmp/date.log

यहाँ हर 15 सेकंड के बाद दिनांक कमांड को निष्पादित करने का एक और उदाहरण दिया गया है:

* * * * * date>> /tmp/date.log
* * * * * sleep 15; date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log
* * * * * sleep 45; date>> /tmp/date.log

अंत में, हर 20 सेकंड में क्रॉन जॉब चलाने के लिए, आपके पास कुछ ऐसा हो सकता है:

* * * * * date>> /tmp/date.log
* * * * * sleep 20; date>> /tmp/date.log
* * * * * sleep 40; date>> /tmp/date.log

साथ ही, क्रॉन का उपयोग करके जॉब शेड्यूलिंग सीखने के लिए यहां और लेख दिए गए हैं:

  • लिनक्स पर क्रॉन जॉब्स कैसे बनाएं और प्रबंधित करें
  • क्रॉन बनाम एनाक्रॉन: लिनक्स पर एनाक्रॉन का उपयोग करके जॉब शेड्यूल कैसे करें

अब आप इसे जानते हैं! हमने आपको लिनक्स में हर x सेकेंड में क्रॉन जॉब चलाने के लिए अलग-अलग उदाहरण दिखाए हैं। अधिक जानकारी के लिए क्रॉन मैन पेज पढ़ें (<कोड>मैन क्रॉन और <कोड>मैन क्रोंटैब कमांड चलाकर)।

यदि आप कोई उपयोगी क्रॉन कमांड टिप्स या ट्रिक्स जानते हैं, तो कृपया उन्हें नीचे टिप्पणी में साझा करें।