क्रॉन: Difference between revisions
No edit summary |
|||
(12 intermediate revisions by 3 users not shown) | |||
Line 12: | Line 12: | ||
| genre = [[Job scheduler]] | | genre = [[Job scheduler]] | ||
}} | }} | ||
'''क्रॉन''' कमांड-लाइन यूटिलिटी एक | '''क्रॉन,''' कमांड-लाइन यूटिलिटी एक कार्य [[ नौकरी अनुसूचक |अनुसूचक]] है, जो यूनिक्स-प्रकार के [[ऑपरेटिंग सिस्टम]] पर उपयोग होता है। सॉफ़्टवेयर वातावरण को समायोजित करने और बनाए रखने वाले उपयोगकर्ताओं को क्रॉन का उपयोग कार्यों को निर्धारित समय,दिनांक या अंतराल पर नियोजित करने के लिए करते हैं, जिन्हें क्रॉन कार्यों के रूप में भी जाना जाता है,<ref>{{Cite web|url=https://stackoverflow.com/questions/21615673/difference-between-cron-crontab-and-cronjob|title=Difference between cron, crontab, and cronjob?|website=Stack Overflow}}</ref><ref>{{Cite web|url=https://www.hostinger.com/tutorials/cron-job|title=Cron Job: a Comprehensive Guide for Beginners 2020|date=May 24, 2019}}</ref> | ||
क्रॉन सामान्यतः सिस्टम रखरखाव या प्रशासन को स्वचालित करता है, यद्यपि इसकी सामान्यता से उपयोगीता के कारण इंटरनेट से फ़ाइलें डाउनलोड करने और नियमित अंतराल पर ईमेल डाउनलोड करने जैसी चीज़ों के लिए भी उपयोगी होता है। | क्रॉन सामान्यतः सिस्टम रखरखाव या प्रशासन को स्वचालित करता है, यद्यपि इसकी सामान्यता से उपयोगीता के कारण इंटरनेट से फ़ाइलें डाउनलोड करने और नियमित अंतराल पर ईमेल डाउनलोड करने जैसी चीज़ों के लिए भी उपयोगी होता है। | ||
Line 21: | Line 21: | ||
== संक्षिप्त विवरण == | == संक्षिप्त विवरण == | ||
क्रॉन की क्रियाएं एक "क्रॉनटैब" फ़ाइल द्वारा नियंत्रित होती हैं, जो एक निर्धारित अनुसूची पर नियमित रूप से चलाने के लिए शेल कमांड निर्दिष्ट करने वाली एक संरूपण फ़ाइल होती है। क्रॉनटैब फ़ाइलें वहाँ संग्रहीत होती हैं जहां क्रॉन डीमन | क्रॉन की क्रियाएं एक "क्रॉनटैब" फ़ाइल द्वारा नियंत्रित होती हैं, जो एक निर्धारित अनुसूची पर नियमित रूप से चलाने के लिए शेल कमांड निर्दिष्ट करने वाली एक संरूपण फ़ाइल होती है। क्रॉनटैब फ़ाइलें वहाँ संग्रहीत होती हैं जहां क्रॉन डीमन पर नियोजित कार्यों और अन्य निर्देशों की सूचियाँ रखी जाती हैं। | ||
उपयोगकर्ताओं के पास अपनी अलग अलग क्रॉनटैब फ़ाइलें हो सकती हैं और | उपयोगकर्ताओं के पास अपनी अलग अलग क्रॉनटैब फ़ाइलें हो सकती हैं और सामान्यतः एक सिस्टम-व्यापी क्रॉनटैब फ़ाइल होती है, जिसे केवल प्रणाली प्रशासक संपादित कर सकते हैं। | ||
क्रॉनटैब फ़ाइल की प्रत्येक पंक्ति एक कार्य को प्रतिष्ठान करती है और इसका आकार निम्नलिखित रूप में होता है | क्रॉनटैब फ़ाइल की प्रत्येक पंक्ति एक कार्य को प्रतिष्ठान करती है और इसका आकार निम्नलिखित रूप में होता है | ||
Line 34: | Line 34: | ||
# │ │ │ │ │ | # │ │ │ │ │ | ||
# │ │ │ │ │ | # │ │ │ │ │ | ||
# * * * * * | # * * * * * निष्पादित करने की आज्ञा | ||
प्रत्येक पंक्ति का सिंटैक्स पांच क्षेत्रों से बना क्रॉन | प्रत्येक पंक्ति का सिंटैक्स पांच क्षेत्रों से बना क्रॉन अभिव्यंजना की अपेक्षा करता है जो कमांड को निष्पादित करने के लिए समय का प्रतिनिधित्व करता है, जिसके बाद शेल कमांड को निष्पादित किया जाता है। | ||
सामान्यतः, कार्य को निष्पादित किया जाता है जब समय/दिनांक निर्धारण क्षेत्रों की सभी मान समय/दिनांक के समान होते हैं। यद्यपि, एक अपवाद है: अगर "माह का दिन" और "सप्ताह का दिन" दोनों ही सीमित होते हैं तो एक या दोनों को समय/दिनांक के समान होना चाहिए। उदाहरण के रूप में, निम्नलिखित क्रॉन व्यवस्था द्वारा प्रतिदिन बजे 12:01 बजे अपाचे त्रुटि लॉग को साफ़ करेगी, यहां तक कि मान लिया जाए कि क्रॉन उपयोगकर्ता के लिए डिफ़ॉल्ट शेल बोर्न शेल के अनुरूप है: | सामान्यतः, कार्य को निष्पादित किया जाता है जब समय/दिनांक निर्धारण क्षेत्रों की सभी मान समय/दिनांक के समान होते हैं। यद्यपि, एक अपवाद है: अगर "माह का दिन" और "सप्ताह का दिन" दोनों ही सीमित होते हैं तो एक या दोनों को समय/दिनांक के समान होना चाहिए। उदाहरण के रूप में, निम्नलिखित क्रॉन व्यवस्था द्वारा प्रतिदिन बजे 12:01 बजे अपाचे त्रुटि लॉग को साफ़ करेगी, यहां तक कि मान लिया जाए कि क्रॉन उपयोगकर्ता के लिए डिफ़ॉल्ट शेल बोर्न शेल के अनुरूप है: | ||
Line 42: | Line 42: | ||
1 0 * * * printf "" > /var/log/apache/error_log | 1 0 * * * printf "" > /var/log/apache/error_log | ||
</syntaxhighlight> | </syntaxhighlight> | ||
यह उदाहरण | यह उदाहरण प्रत्येक शनिवार को 23:45 (रात 11:45 बजे) को नामक एक शेल प्रोग्राम "export_dump.sh" को संचालित होता है। | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
45 23 * * 6 /home/oracle/scripts/export_dump.sh | 45 23 * * 6 /home/oracle/scripts/export_dump.sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
ध्यान दें: कुछ | ध्यान दें: कुछ प्रणालियों पर समय के हर n-वें अंतराल के लिए */n निर्दिष्ट करना भी संभव होता है। साथ ही, कार्यों में उदाहरण के लिए, 1,2,3 एकाधिक विशिष्ट समय अंतराल भी निर्दिष्ट किए जा सकते हैं। निम्नलिखित प्रतिमान के अनुसार, प्रत्येक पहले, दूसरे और तीसरे घंटे के हर 5 मिनट पर अर्थात 01:00, 01:05, 01:10 से लेकर 03:55 तक कमांड लाइन पर "हैलो वर्ल्ड" निर्गत होगा। <syntaxhighlight lang="bash"> | ||
*/5 1,2,3 * * * echo hello world | */5 1,2,3 * * * echo hello world | ||
</syntaxhighlight> | </syntaxhighlight> | ||
उपयोगकर्ता के लिए समाकृति फ़ाइल को कॉल करके संपादित किया जा सकता है <code>क्रोंटैब -ई</code> इस बात पर ध्यान दिए बिना कि वास्तविक कार्यान्वयन इस फ़ाइल को कहाँ संग्रहीत करता है। | उपयोगकर्ता के लिए समाकृति फ़ाइल को कॉल करके संपादित किया जा सकता है <code>क्रोंटैब-ई</code> इस बात पर ध्यान दिए बिना कि वास्तविक कार्यान्वयन इस फ़ाइल को कहाँ संग्रहीत करता है। | ||
कुछ <code>क्रॉन</code> कार्यान्वयन, जैसे कि [[पॉल विक्सी]] द्वारा लिखित और कई लिनक्स वितरणों में सम्मिलित लोकप्रिय [[बर्कले सॉफ्टवेयर वितरण]], एक छठा क्षेत्र जोड़ते हैं: एक खाता उपयोगकर्ता नाम जो निर्दिष्ट | कुछ <code>क्रॉन</code> कार्यान्वयन, जैसे कि [[पॉल विक्सी]] द्वारा लिखित और कई लिनक्स वितरणों में सम्मिलित लोकप्रिय [[बर्कले सॉफ्टवेयर वितरण]], एक छठा क्षेत्र जोड़ते हैं: एक खाता उपयोगकर्ता नाम जो निर्दिष्ट कार्यों संचालित करता है। यह केवल सिस्टम <code>क्रोंटैब</code> में अनुमति है—दूसरों में नहीं, जिनमें से प्रत्येक को समाकृति करने के लिए एकल उपयोगकर्ता को नियुक्त किया गया है। खाता उपयोक्तानाम के अतिरिक्त कभी-कभी छठा क्षेत्र वैकल्पिक रूप से वर्ष के लिए उपयोग किया जाता है- विंडोज़ के लिए [[एनएनक्रॉन]] डेमन ऐसा करता है। | ||
एमेज़ॅन इवेंटब्रिज़ के क्रॉन का अनुपालन करते समय, 0 से आधारित सप्ताह के दिन का उपयोग नहीं किया जाता है, | एमेज़ॅन इवेंटब्रिज़ के क्रॉन का अनुपालन करते समय, 0 से आधारित सप्ताह के दिन का उपयोग नहीं किया जाता है, अतिरिक्त इसके 1 से 7 चलते हैं। इसके अतिरिक्त, इसमें पहले सप्ताह का दिन और माह के अंतिम दिन जैसे अतिरिक्त अभिव्यक्ति सुविधाएँ भी होती हैं।<ref name="amazon eventbridge">{{cite web|url=https://docs.aws.amazon.com/eventbridge/latest/userguide/scheduled-events.html#cron-expressions | title= नियमों के लिए अनुसूची अभिव्यक्तियाँ|publisher=Amazon }}</ref> | ||
=== गैर मानक पूर्वनिर्धारित निर्धारणों के संबंध === | === गैर मानक पूर्वनिर्धारित निर्धारणों के संबंध मे === | ||
कुछ क्रोन कार्यान्वयन निम्नलिखित गैर-मानक मैक्रोज़ का समर्थन करते हैं | कुछ क्रोन कार्यान्वयन निम्नलिखित गैर-मानक मैक्रोज़ का समर्थन करते हैं | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | !प्रविष्टियां | ||
! | !विवरण | ||
! | !के समान | ||
|- | |- | ||
| | |@वार्षिक | ||
| | |1 जनवरी की आधी रात को साल में एक बार संचालित होता है | ||
|<code>0 0 1 1 *</code> | |<code>0 0 1 1 *</code> | ||
|- | |- | ||
| | |@मासिक | ||
| | |महीने में एक बार महीने के पहले दिन की आधी रात को संचालित होता है | ||
|<code>0 0 1 * *</code> | |<code>0 0 1 * *</code> | ||
|- | |- | ||
| | |@साप्ताहिक | ||
| | |सप्ताह में एक बार रविवार की सुबह आधी रात को संचालित होता है | ||
|<code>0 0 * * 0</code> | |<code>0 0 * * 0</code> | ||
|- | |- | ||
| | |@दैनिक (या @अर्धरात्रि ) | ||
| | |दिन में एक बार आधी रात को संचालित होता है | ||
|<code>0 0 * * *</code> | |<code>0 0 * * *</code> | ||
|- | |- | ||
| | |@घंटेवार | ||
| | |घंटे की शुरुआत में एक घंटे में एक बार संचालित होता है | ||
|<code>0 * * * *</code> | |<code>0 * * * *</code> | ||
|- | |- | ||
| | |@रीबूट | ||
| | |प्रारंभ मे संचालित होता है | ||
|{{N/A}} | |{{N/A}} | ||
|} | |} | ||
@रिबूट क्रॉन को संरचित करता है जिससे एक | @रिबूट क्रॉन को संरचित करता है जिससे एक कार्य एक बार चले जब डेमन प्रारंभ होता है। क्योंकि क्रॉन सामान्यतः पुनः से प्रारंभ नहीं होता है, इसलिए यह मशीन की बूट होने के समय के समान होता है। इस व्यवहार को कुछ क्रॉन के अलग-अलग रूपों में बाध्य किया जाता है, जैसे डेबियन में प्रदान किया गया है,जिससे बस डेमन को पुनः प्रारंभ करने से @रिबूट कार्य पुनः नहीं चलते। | ||
<code>@रिबूट</code> उपयोगी हो सकता है यदि किसी विशेष उपयोगकर्ता के तहत एक सर्वर या डेमन को सुरु करने की आवश्यकता हो और उपयोगकर्ता को प्रोग्राम को प्रारंभ करने के लिए इनिट समेकित करने का पहुंच नहीं होता है। | <code>@रिबूट</code> उपयोगी हो सकता है यदि किसी विशेष उपयोगकर्ता के तहत एक सर्वर या डेमन को सुरु करने की आवश्यकता हो और उपयोगकर्ता को प्रोग्राम को प्रारंभ करने के लिए इनिट समेकित करने का पहुंच नहीं होता है। | ||
Line 97: | Line 97: | ||
ये दो फाइलें महत्वपूर्ण भूमिका निभाती हैं | ये दो फाइलें महत्वपूर्ण भूमिका निभाती हैं | ||
* यदि ईटीएस/क्रोन फ़ाइल उपस्थित होती है, तो उसमें उपयोगकर्ता का नाम होना चाहिए जिससे उपयोगकर्ता को क्रॉन नियमों का उपयोग करने की अनुमति हो। | * यदि ईटीएस/क्रोन फ़ाइल उपस्थित होती है, तो उसमें उपयोगकर्ता का नाम होना चाहिए जिससे उपयोगकर्ता को क्रॉन नियमों का उपयोग करने की अनुमति हो। | ||
* यदि /ईटीएस/क्रॉन.एलाऊ फ़ाइल उपस्थित नहीं | * यदि /ईटीएस/क्रॉन.एलाऊ फ़ाइल उपस्थित नहीं है परंतु /ईटीएस/क्रॉन डेनि फ़ाइल उपस्थित होती है, तो क्रॉन नियमों का उपयोग करने के लिए उपयोगकर्ताओं को /ईटीएस/क्रॉन डेनि फ़ाइल में सूचीबद्ध नहीं होना चाहिए। | ||
ध्यान दें कि यदि इन दोनों फ़ाइलों में से कोई भी उपस्थित नहीं है, तो साइट-विशेष समेकित पैरामीटर के आधार पर, या तो केवल सुपर उपयोगकर्ता क्रॉन नियमों का उपयोग कर सकता है, या सभी उपयोगकर्ता क्रॉन नियमों का उपयोग कर सकते हैं। | ध्यान दें कि यदि इन दोनों फ़ाइलों में से कोई भी उपस्थित नहीं है, तो साइट-विशेष समेकित पैरामीटर के आधार पर, या तो केवल सुपर उपयोगकर्ता क्रॉन नियमों का उपयोग कर सकता है, या सभी उपयोगकर्ता क्रॉन नियमों का उपयोग कर सकते हैं। | ||
Line 112: | Line 112: | ||
[[संस्करण 7 यूनिक्स]] में क्रॉन एक प्रणाली सेवा थी (जिसे बाद में [[डेमन (कंप्यूटिंग)|डेमन]] कहा जाता था) से मंगाई गई थी <code>/etc/rc</code> जब ऑपरेटिंग सिस्टम बहु-उपयोगकर्ता मोड में प्रवेश करता है।<ref>{{cite web | website=Minnie's Home Page | url=http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/etc/rc | access-date=2020-09-12}}</ref> इसका [[कलन विधि]] सीधा था: | [[संस्करण 7 यूनिक्स]] में क्रॉन एक प्रणाली सेवा थी (जिसे बाद में [[डेमन (कंप्यूटिंग)|डेमन]] कहा जाता था) से मंगाई गई थी <code>/etc/rc</code> जब ऑपरेटिंग सिस्टम बहु-उपयोगकर्ता मोड में प्रवेश करता है।<ref>{{cite web | website=Minnie's Home Page | url=http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/etc/rc | access-date=2020-09-12}}</ref> इसका [[कलन विधि]] सीधा था: | ||
# पढ़ना <code>/usr/lib/क्रॉनटैब</code> <ref>{{cite web | website=Minnie's Home Page | url=http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/cron.c | access-date=2020-09-12}}</ref> | # पढ़ना <code>/usr/lib/क्रॉनटैब</code> <ref>{{cite web | website=Minnie's Home Page | url=http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/cron.c | access-date=2020-09-12}}</ref> | ||
# निर्धारित करें कि क्या कोई कमांड वर्तमान दिनांक और समय पर चलना चाहिए, और यदि ऐसा है, तो उन्हें [[ सुपर उपयोगकर्ता | सुपर उपयोगकर्ता]], रूट के रूप में चलाएं। | # निर्धारित करें कि क्या कोई कमांड वर्तमान दिनांक और समय पर चलना चाहिए, और यदि ऐसा है, तो उन्हें [[ सुपर उपयोगकर्ता | सुपर उपयोगकर्ता]], रूट के रूप में चलाएं। | ||
#एक मिनट के लिए सो जाएँ। | #एक मिनट के लिए सो जाएँ। | ||
# चरण 1 से पुनः प्रारंभ करें। | # चरण 1 से पुनः प्रारंभ करें। | ||
Line 120: | Line 120: | ||
=== बहु-उपयोगकर्ता क्षमता === | === बहु-उपयोगकर्ता क्षमता === | ||
[[यूनिक्स प्रणाली वी]] के रिलीज के साथ क्रॉन का अगला संस्करण, सुपर उपयोगकर्ता के अतिरिक्त [[यूनिक्स प्रणाली वी|यूनिक्स प्रणाली]] के सभी उपयोगकर्ताओं को क्रॉन की क्षमताओं का विस्तार करने के लिए बनाया गया था। यद्यपि आज के दिन में यह छोटे संख्या में उपयोगकर्ताओं के साथ अधिकांश [[यूनिक्स प्रणाली वी|यूनिक्स]] और [[यूनिक्स प्रणाली वी|यूनिक्स]]-प्रतिरूप प्रणालियों के पास मजबूत प्रोसेसर होने के कारण तत्कालिक लगेगा, परंतु उस समय यह एक नई दृष्टिकोण की आवश्यकता थी, जब एक-एमआईपीएस सिस्टम में लगभग 100 उपयोगकर्ता खाते होते थे। | |||
1977 के अगस्त की एसीएम के संचार, पत्रिका में, डब्ल्यू आर फ्रांटा और कुर्त माली ने "समरूपी घटना सेट के लिए एक प्रभावी डेटा संरचना" नामक लेख प्रकाशित किया था। इस लेख में वे एक प्रभावी डेटा संरचना का वर्णन कर रहे थे जो समरूपी आधारित घटना सेट के लिए थी।, इसमें एक घटना कतार डेटा संरचना का वर्णन किया गया था जो आपूर्ति-प्रेरित समरूपी सिस्टमों के लिए उपयोगी थी। यह लेख "सामान्य रूप से उपयोग किए जाने वाले सरल लिंक्ड सूची कलन-विधि के सापेक्ष में "बेहतर प्रदर्शन प्रदान करती है", असमान समय वितरण के विषय में अच्छा व्यवहार दिखाती है, और सबसे खराब मामले में संघटना की संख्या के लिए वर्तमान जटिलता <math>\theta\left(\sqrt{n}\right)</math>,होती है, यहां 'n' कतार में घटनाएं होती हैं | |||
एक | परद्यू विश्वविद्यालय के एक स्नातकोत्तर छात्र, रॉबर्ट ब्राउन, इस लेख की समीक्षा करते हुए, क्रॉन और [[असतत घटना सिमुलेशन|असतत घटना समरूपी]] के मध्य समानता को मान्य किया और प्रयोग के लिए फ्रांटा-माली | ||
घटना सूची प्रबंधक (ईएलएम) के एक अंगीकृतन का निर्माण किया। | |||
असतत घटना अनुरूपक आभासी समय में चलते हैं, जितनी जल्दी हो सके घटना कतार से घटनाओं को छीलते हैं और अगले कार्यक्रम के निर्धारित समय पर उनकी धारणा को आगे बढ़ाते हैं। आभासी समय के सिवाय वास्तविक समय में घटना अनुरूपक चलाने से क्रॉन का एक संस्करण बनाया गया, जो अपना अधिकांश समय सोने में व्यतीत करता है, घटना अनुरूपक सूची के शीर्ष पर कार्य को निष्पादित करने के लिए निर्धारित समय की प्रतीक्षा करता है। | |||
अगले स्कूल वर्ष में परद्यू में स्नातकोत्तर कार्यक्रम में नए छात्र सम्मिलित हुए, जिसमें कीथ विलियमसन भी थे, जो कंप्यूटर साइंस विभाग के सिस्टम कर्मचारी के रूप में सम्मिलित हुए। ब्राउन ने इसे एक "तापमान कार्य" के रूप में कहकर उनसे पूरे प्रोटोटाइप क्रॉन को एक प्रोडक्शन सेवा में विकसित करने का अनुरोध किया, और यह बहु-उपयोगकर्ता क्रॉन 1979 के अंतिम महीने में परद्यू में उपयोग में लाया गया। यह क्रॉन की यह संस्करण पूरी तरह से उन कंप्यूटर साइंस विभाग के वैक्स 11/780 पर इस्तेमाल हो रहे 32/V संस्करण के /ईटीएस/क्रॉन को पूरी तरह से प्रतिस्थापित कर दिया। | |||
इस | इस क्रॉन द्वारा उपयोग किया जाने वाला कलन-विधि निम्नलिखित है: | ||
# प्रवर्तन, सभी खाताधारकों के होम निर्देशिकाओं में क्रॉनटैब नामक फ़ाइल की खोज करें। | |||
# प्रत्येक क्रॉनटैब फ़ाइल के लिए, भविष्य में अगली बार निर्धारित करें कि प्रत्येक कमांड को चलना चाहिए। | |||
# उन कमांडों को फ्रांटा-माली घटना सूची में उनके संबंधित समय और उनके पांच क्षेत्र समय विनिर्देशक के साथ रखें। | |||
# मुख्य लूप में प्रवेश करें।: | |||
## कतार के शीर्ष पर स्थित कार्य प्रविष्टि की जांच करें, इसे कितने समय में चलना चाहिए यह निर्धारित करें। | |||
## उस समय अवधि के लिए शांति के लिए सो जाएं। | |||
## जागने पर और सही समय की पुष्टि करने के उपरांत, क्यू में स्थित कार्य को स्वीकार करें, जिसके प्रदाता ने उसे बनाया है। | |||
## इस कमांड को भविष्य में चलाने के लिए अगली बार का समय निर्धारित करें और उस समय मूल्य पर पुनः घटना सूची में रखें। | |||
इसके अतिरिक्त,डेमन प्रवर्तन संकेत का प्रतिक्रिया देकर संशोधित क्रॉनटैब फ़ाइलों को पुनः स्कैन करता है और घड़ी के साथ और आधे घंटे में "जागृति घटनाओं" की योजना बनाता है जिससे संशोधित क्रॉनटैब फ़ाइलों की खोज कर सके। इसमें कंप्यूटर के समय-दिन के अनुकरण, यूनिक्सअलार्म अनुसूची निर्दिष्ट समय-दिन परिवर्तन और प्रक्रिया प्रबंधन के बारे में अशुद्धियों के बारे में बहुत सारा विवरण छोड़ दिया गया है, जिनमें से सभी कोड की अधिकांश पंक्तियों का हिसाब लिया जाता है। यह क्रॉन भी स्टाउट और स्टाइडर का आउटपुट रिकॉर्ड करता था और किसी भी आउटपुट को क्रॉनटैब के मालिक को ईमेल कर दिया जाता था। इस क्रोन स्केल द्वारा उपभोग किए गए संसाधनों को केवल उस काम की मात्रा के साथ दिया जाता है और समय-समय पर परिवर्तनों की जांच के अपवाद के साथ समय के साथ स्वाभाविक रूप से वृद्धि नहीं होती है। | |||
क्रॉन का यह संस्करण बाद में [[ यूनिक्स प्रणाली वी ]] | विलियमसन ने अपने अध्ययन को पूरा कर दिया और अपने साथ मस्टर्स ऑफ़ साइंस कंप्यूटर साइंस में यूनिवर्सिटी से निकल गए और एटीएंडटी बेल लैब्स में मरे हिल, न्यूजर्सी में सम्मिलित हो गए और इस क्रॉन को ले गए। बेल लैब्स में उन्होंने और दूसरों ने यूनिक्स कमांड को क्रॉन में सम्मिलित किया, क्रॉनटैब फ़ाइलों को उपयोगकर्ताओं के होम निर्देशिकाओं से निकाल कर एक सामान्य होस्ट-विशिष्ट स्पूल निर्देशिका में स्थानांतरित किया, और आवश्यकता के अनुसार क्रॉनटैब कमांड को जोड़ा गया जिससे उपयोगकर्ताओं को उनके क्रॉनटैब को उस स्पूल निर्देशिका में कॉपी करने की अनुमति मिल सके।। | ||
यह क्रॉन का यह संस्करण बाद में[[ यूनिक्स प्रणाली वी | यूनिक्स प्रणाली वी]] और बीएसडी में अधिकांश बदले बिना प्रकट हुआ और इसके उपशाखाओं में [[सन माइक्रोसिस्टम्स]] के [[सोलारिस (ऑपरेटिंग सिस्टम)|सोलारिस]], [[सिलिकॉन ग्राफिक्स]] के इरिक्स हेवलेट-पैकर्डके एचपी-यूएक्स और आईबीएम के ऐक्स सम्मिलित हैं। तकनीकी रूप से, इन प्रयोजनों के मूल लाइसेंस पर आरंभ में पर्ड्यू रिसर्च फाउंडेशन के पास होना चाहिए था जिन्होंने इस कार्य का वित्त पोषण किया था, लेकिन यह समय ऐसा था जब इस तरह के विषयो को लेकर बहुत कम चिंता की जाती थी। | |||
=== आधुनिक संस्करण === | === आधुनिक संस्करण === | ||
[[जीएनयू परियोजना]] और [[लिनक्स]] के आगमन के साथ, नए क्रोन दिखाई दिए। इनमें से सबसे प्रचलित विक्सी क्रोन है, जिसे मूल रूप से 1987 में पॉल विक्सी द्वारा कोडित किया गया था। विक्सी क्रोन का संस्करण 3 1993 के अंत में जारी किया गया था। संस्करण 4.1 का नाम बदलकर [[इंटरनेट सिस्टम कंसोर्टियम]] क्रोन कर दिया गया था और जनवरी 2004 में | [[जीएनयू परियोजना]] और [[लिनक्स]] के आगमन के साथ, नए क्रोन दिखाई दिए। इनमें से सबसे प्रचलित विक्सी क्रोन है, जिसे मूल रूप से 1987 में पॉल विक्सी द्वारा कोडित किया गया था। विक्सी क्रोन का संस्करण 3 1993 के अंत में जारी किया गया था। संस्करण 4.1 का नाम बदलकर [[इंटरनेट सिस्टम कंसोर्टियम]] क्रोन कर दिया गया था और जनवरी 2004 में प्रस्तुत किया गया था। संस्करण 3, कुछ के साथ मामूली बग फिक्स, लिनक्स और बीएसडी के अधिकांश वितरणों में उपयोग किया जाता है। | ||
2007 में, रेड हैट ने [[ मित्र ]] प्रोजेक्ट के लिए विक्सी-क्रॉन 4.1 को फोर्क किया और 2009 में [[एनाक्रॉन]] 2.3 को सम्मिलित किया। | |||
अन्य लोकप्रिय कार्यान्वयनों में एनाक्रॉन और डीक्रॉन सम्मिलित हैं। यद्यपि, एनाक्रॉन एक स्वतंत्र क्रॉन प्रोग्राम नहीं है। एक और क्रॉन कार्य इसे बुलाना होगा। डीक्रॉन ड्रैगनफली बीएसडी के संस्थापक [[मैथ्यू डिलन (कंप्यूटर वैज्ञानिक)|मैथ्यू डिलन]] द्वारा बनाया गया था, और इसका रखरखाव 2010 में जिम प्रायर द्वारा किया गया था <ref>{{cite mailing list|url=https://mailman.archlinux.org/pipermail/arch-general/2010-January/009981.html |mailing-list=arch-general@archlinux.org |title=क्रॉन|date=2010-01-05 |access-date=2013-11-06 |first=Jim |last=Pryor}}</ref> | |||
2003 में,डेल मेलर ने मेक्रोन को पेश किया, जो गाइल में लिखा गया एक क्रोन परिवर्तन है जो विक्सी क्रॉन के साथ संगतता प्रदान करता है और साथ ही अधिक लचीलापन प्रदान करता है क्योंकि इसे किसी भी स्कीम कोड का उपयोग करने देता है जो अनुसूची गणना और नौकरी परिभाषाओं में उपयोग किया जा सकता है। म्क्रॉन डेमन और क्रॉनटैब फ़ाइल सामान्यतः स्कीम में लिखे जाते हैं, उपयोगकर्ता के नौकरी कतार की संचयीत स्थिति उनके कार्यों कोड के लिए उपलब्ध होती है, जिसे सूचीबद्ध किया जा सकता है यदि अन्य कार्यों के परिणाम कुछ मानदंडों को पूरा करते हैं। म्क्रॉन डिफ़ॉल्ट रूप से गुइक्स पैकेज प्रबंधक के अंतर्गत स्थापित किया जाता है, जो सेवाएं प्रबंधक के लिए म्क्रॉन क्रॉनटैब निर्मित करने के लिए प्रावधान करता है, साथ ही सुनिश्चित करता है कि कार्यों क्रियान्वयन के लिए आवश्यक पैकेज स्थापित करते हैं, और संबंधित क्रॉनटैब उन्हें सही रूप से संदर्भित करते हैं। | |||
2003 में, डेल | |||
== क्रोन | == क्रोन अभिव्यंजना == | ||
क्रॉन अभिव्यक्ति एक स्ट्रिंग होती है जिसमें पांच या छः क्षेत्र होते हैं जो सफेद स्थान स अलग होते हैं और जो सामान्यतः किसी नियमितता को कार्यान्वित करने के लिए कुछ समयों का सेट प्रतिष्ठित करता है, यद्यपि यह किसी कार्यक्रम को निष्पादित करने के लिए एक अनुसूची के रूप में होती है। | |||
टिप्पणियाँ एक टिप्पणी चिह्न | टिप्पणियाँ एक टिप्पणी चिह्न के साथ प्रारंभ होती हैं, और स्वयं एक पंक्ति में होती हैं | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | !क्षेत्र | ||
! | !आवश्यक | ||
! | !अनुमत मान | ||
! | !विशेष वर्णों की अनुमति है | ||
! | !टिप्पणियां | ||
|- | |- | ||
| | |मिनट | ||
| {{Yes}} | | {{Yes}} | ||
| 0–59 | | 0–59 | ||
Line 174: | Line 176: | ||
| | | | ||
|- | |- | ||
| | |घंटे | ||
| {{Yes}} | | {{Yes}} | ||
| 0–23 | | 0–23 | ||
Line 180: | Line 182: | ||
| | | | ||
|- | |- | ||
| | |महीने का दिन | ||
| {{Yes}} | | {{Yes}} | ||
| 1–31 | | 1–31 | ||
| <code>*</code> <code>,</code> <code>-</code> <code>?</code> <code>L</code> <code>W</code> | | <code>*</code> <code>,</code> <code>-</code> <code>?</code> <code>L</code> <code>W</code> | ||
| <code>?</code> <code>L</code> <code>W</code> | | <code>?</code> <code>L</code> <code>W</code> केवल कुछ कार्यान्वयन में | ||
|- | |- | ||
| | |महीना | ||
| {{Yes}} | | {{Yes}} | ||
| 1–12 or JAN–DEC | | 1–12 or JAN–DEC | ||
Line 192: | Line 194: | ||
| | | | ||
|- | |- | ||
| | |सप्ताह का दिन | ||
| {{Yes}} | | {{Yes}} | ||
| 0–6 or SUN–SAT | | 0–6 or SUN–SAT | ||
| <code>*</code> <code>,</code> <code>-</code> <code>?</code> <code>L</code> <code>#</code> | | <code>*</code> <code>,</code> <code>-</code> <code>?</code> <code>L</code> <code>#</code> | ||
| <code>?</code> <code>L</code> <code>#</code> | | <code>?</code> <code>L</code> <code>#</code> केवल कुछ कार्यान्वयनों में | ||
|- | |- | ||
| | | साल | ||
| {{No}} | | {{No}} | ||
| 1970–2099 | | 1970–2099 | ||
| <code>*</code> <code>,</code> <code>-</code> | | <code>*</code> <code>,</code> <code>-</code> | ||
| | |यह क्षेत्र मानक/डिफ़ॉल्ट कार्यान्वयन में समर्थित नहीं है। | ||
|} | |} | ||
महीने और सप्ताह के | महीने और सप्ताह के छोटे नाम अभिव्यक्तियों के प्रति अक्षर महत्वशून्य होते हैं। उनके बड़े और छोटे अक्षर में कोई अंतर नहीं होता है। | ||
विशेष विषय में प्रणाली क्रॉनटैब फ़ाइल के मामले में, एक उपयोगकर्ता क्षेत्र कमांड से पहले अपने आप को सम्मिलित करती है। सामान्यतः यह 'रूट पर सेट किया जाता है। | |||
क्रॉन प्रारूप के कुछ उपयोगों में पैटर्न | क्रॉन प्रारूप के कुछ उपयोगों में पैटर्न के प्रारंभ में एक सेकंड क्षेत्र भी होता है। उस स्थिति में, क्रोन अभिव्यंजना एक स्ट्रिंग है जिसमें 6 या 7 क्षेत्र होते हैं।<ref>{{cite web |title=क्रोनट्रिगर ट्यूटोरियल|url=http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger |work=Quartz Scheduler Website |access-date=24 October 2011 |archive-url=https://web.archive.org/web/20111025080042/http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger |archive-date=25 October 2011 |url-status=dead }}</ref>तारांकन चिह्न {{as written||( <code>*</code> )}} | ||
तारांकन चिह्न {{as written||( <code>*</code> )}} | : तारांकन सभी का प्रतिनिधित्व करता है। उदाहरण के लिए, * * * * * का प्रयोग हर मिनट चलेगा। प्रयोग* * * *1 प्रति मिनट केवल सोमवार को ही चलेगा। छह तारक का उपयोग करने का अर्थ है हर सेकेंड जब सेकंड समर्थित होते हैं। | ||
: तारांकन | |||
;अल्पविराम {{as written||( <code>,</code> )}}: किसी सूची के आइटम को अलग करने के लिए अल्पविराम का उपयोग किया जाता है। उदाहरण के लिए, पांचवें क्षेत्र | ;अल्पविराम {{as written||( <code>,</code> )}}: किसी सूची के आइटम को अलग करने के लिए अल्पविराम का उपयोग किया जाता है। उदाहरण के लिए, पांचवें क्षेत्र में सोम, बुध, शुक्र का उपयोग करने का अर्थ सोमवार, बुधवार और शुक्रवार है। | ||
; | ;योजक ( <code>-</code> ): डैश रेंज को परिभाषित करता है। उदाहरण के लिए, 2000–2010 प्रत्येक वर्ष 2000 और 2010 के बीच, सम्मिलित रूप से इंगित करता है। | ||
; प्रतिशत ( <code>%</code> ): कमांड में प्रतिशत-संकेत (%), जब तक कि बैकस्लैश (\) के साथ बच नहीं जाता है, न्यूलाइन वर्णों में बदल दिया जाता है, और पहले% के बाद के सभी डेटा मानक इनपुट के रूप में कमांड को भेजे जाते हैं।<ref>{{cite web|url=https://www.gnu.org/software/mcron/manual/html_node/Crontab-file.html |title=मैक्रोन क्रोंटैब संदर्भ|publisher=Gnu.org |access-date=2013-11-06}}</ref> | ; प्रतिशत ( <code>%</code> ): कमांड में प्रतिशत-संकेत (%), जब तक कि बैकस्लैश (\) के साथ बच नहीं जाता है, न्यूलाइन वर्णों में बदल दिया जाता है, और पहले% के बाद के सभी डेटा मानक इनपुट के रूप में कमांड को भेजे जाते हैं।<ref>{{cite web|url=https://www.gnu.org/software/mcron/manual/html_node/Crontab-file.html |title=मैक्रोन क्रोंटैब संदर्भ|publisher=Gnu.org |access-date=2013-11-06}}</ref> | ||
=== गैर-मानक वर्ण === | === गैर-मानक वर्ण === | ||
निम्नलिखित गैर-मानक वर्ण हैं और केवल कुछ क्रॉन कार्यान्वयनों में | निम्नलिखित गैर-मानक वर्ण हैं और केवल कुछ क्रॉन कार्यान्वयनों में उपस्थित होते हैं, जैसे कि क्वार्ट्ज_. | ||
;{{code|L}}: 'L' अंतिम | ;{{code|L}}: 'L' का अर्थ "अंतिम" होता है। जब इसे सप्ताह के दिन क्षेत्र में उपयोग किया जाता है, तो इससे "दिए गए महीने का अंतिम शुक्रवार" ("5L") जैसे निर्माणों को निर्दिष्ट करने की अनुमति होती है। माह के दिन क्षेत्र में इसे दिए गए महीने का अंतिम दिन निर्दिष्ट करने के लिए प्रयुक्त किया जाता है। | ||
;{{code|W}}: माह | ;{{code|W}}: माह के दिन क्षेत्र के लिए 'W' वर्ण की अनुमति होती है। यह वर्ण दिए गए दिन के पास सबसे निकट दिन को निर्दिष्ट करने के लिए प्रयुक्त किया जाता है। उदाहरण के रूप में, अगर "15W" माह के दिनक्षेत्र के लिए मान निर्दिष्ट किया जाता है, तो इसका अर्थ होता है: "महीने के 15वें दिन के पास सबसे निकट दिन"। इसलिए, अगर 15वें दिन की शनिवार हो, तो ट्रिगर शुक्रवार को 14वें दिन को सक्रिय करेगा। अगर 15वें दिन की रविवार हो, तो ट्रिगर सोमवार को 16वें दिन को सक्रिय करेगा। अगर 15वें दिन की मंगलवार हो, तो ट्रिगर मंगलवार को 15वें दिन को सक्रिय करेगा। हालांकि, अगर "1W" माह के दिनक्षेत्र के लिए मान निर्दिष्ट किया जाता है, और पहला दिन शनिवार हो, तो ट्रिगर मंगलवार को 3वें दिन को सक्रिय करेगा, क्योंकि यह माह के दिनों की सीमा को 'पार' नहीं करता है। 'W' वर्ण को केवल जब माह के दिन एकल दिन हो, न कि दिनों की सीमा या सूची हो, तो ही निर्दिष्ट करता है। | ||
हैश ( | == हैश (#) == | ||
सप्ताह का दिन क्षेत्र के लिए '#' वर्ण की अनुमति होती है, और इसके बाद एक से पांच के बीच एक संख्या होनी चाहिए। इसकी मदद से "द्वितीय शुक्रवार" जैसे निर्माणों को निर्दिष्ट करने में सहायता मिलती है। उदाहरण के लिए, दिन-ऑफ-सप्ताह क्षेत्र में "5#3" दर्ज करना माने गए माह के हर महीने के तीसरे शुक्रवार को सक्रिय करेगा। | |||
;प्रश्न चिह्न ({{code|?}}): कुछ | ;प्रश्न चिह्न ({{code|?}}): कुछ अनुप्रयोगों में, दिन-ऑफ-महीना या दिन-से-सप्ताह को खाली छोड़ने के लिए '*' के अतिरिक्त प्रयोग किया जाता है। अन्य क्रॉन अनुप्रयोगों में, "?" का प्रतिस्थान क्रॉन डीमॉन के स्टार्ट-अप समय के साथ किया जाता है, इसलिए "?" ? * * * * को 8:25 बजे प्रात: 8:25 बजे प्रारंभ होने पर 25 8 * * * * में अद्यतित किया जाएगा, और फिर से पुनःप्रारंभ होने तक यह हर दिन इस समय चलेगा।<ref>{{cite web|url=http://www.nncron.ru/help/EN/working/cron-format.htm#STARTTIME |title=क्रॉन प्रारूप|publisher= nnBackup |access-date=2014-05-27}}</ref> | ||
; स्लैश (<code>/</code>): | ; स्लैश (<code>/</code>): विक्सी-क्रॉन में, चरण मानों को निर्दिष्ट करने के लिए स्लैश को श्रेणियों के साथ जोड़ा जा सकता है।<ref name="freebsd">{{cite web|url=https://www.freebsd.org/cgi/man.cgi?crontab%285%29 | title= FreeBSD File Formats Manual for CRONTAB(5) |publisher=The FreeBSD Project }}</ref>उदाहरण के लिए, {{mono|*/5}} मिनट क्षेत्र में प्रत्येक 5 मिनट संकेत करता है यह अधिक वर्बोज़ पॉज़िक्स फॉर्म के लिए आशुलिपि है {{mono|5,10,15,20,25,30,35,40,45,50,55,00}}. पॉज़िक्स स्लैश के उपयोग को परिभाषित नहीं करता है; इसका औचित्य नोट करता है कि परिभाषा सिस्टम वी प्रारूप पर आधारित है परंतु प्रारूप की संभावना को बाहर नहीं करती है।<ref name="posix">{{citation |chapter-url=http://pubs.opengroup.org/onlinepubs/007904975/utilities/crontab.html |title=The Open Group Base Specifications Issue 7 — IEEE Std 1003.1, 2013 Edition |chapter=crontab |publisher=The Open Group |date=2013 |access-date=May 18, 2015}}</ref> | ||
ध्यान दें कि आवृत्तियों को सामान्य रूप से व्यक्त नहीं किया जा सकता है; केवल चरण मान जो समान रूप से अपनी सीमा को विभाजित करते हैं, सटीक आवृत्तियों को व्यक्त करते हैं | ध्यान दें कि आवृत्तियों को सामान्य रूप से व्यक्त नहीं किया जा सकता है; केवल चरण मान जो समान रूप से अपनी सीमा को विभाजित करते हैं, सटीक आवृत्तियों को व्यक्त करते हैं सेकंड के लिए, अर्थात {{tt|/2, /3, /4, /5, /6, /10, /12, /15, /20}} और {{tt|/30}} क्योंकि 60 उन संख्याओं से समान रूप से विभाज्य है; घंटों के लिए, वह है {{tt|/2, /3, /4, /6, /8}} और {{tt|/12}}); अन्य सभी संभावित चरण और अन्य सभी क्षेत्र समय-इकाई के अंत में असंगत छोटी अवधियों को उत्पन्न करते हैं, इससे पहले कि यह अगले मिनट, दूसरे या दिन पर रीसेट हो जाए; उदाहरण के लिए, प्रवेश करना {{tt|*/5}} महीने और लीप वर्ष के आधार पर दिन के लिए कभी-कभी क्षेत्र 1, 2 या 3 दिनों के बाद निष्पादित होती है; ऐसा इसलिए है क्योंकि क्रॉन स्टेटलेस है यह अंतिम निष्पादन के समय को याद नहीं करता है और न ही इसके बीच के अंतर को गिनता है और सटीक आवृत्ति गणना के लिए आवश्यक है। | ||
कुछ भाषा-विशिष्ट पुस्तकालय जो क्रॉनटैब की अनुसूचना क्षमता प्रदान करते हैं, समय सीमाओं के बाईं ओर स्लैश के लिए "सख्त" रेंज 15-59/XX की आवश्यकता नहीं होती। इन विषयो में, 15/XX मिनट सेक्शन मेंविक्सी-क्रॉन अनुसूची 15-59/10 के बराबर होता है। उसी तरह, आप घंटों, दिनों और महीनों के लिए घटा सकते हैं 0-23/XX, 1-31/XX और 1-12/XX से अतिरिक्त -23, -31 और -12; क्रमशः। | |||
;{{code|H}}: जेनकिन्स (सॉफ्टवेयर) निरंतर एकीकरण प्रणाली में 'एच' का उपयोग यह | ;{{code|H}}: जेनकिन्स (सॉफ्टवेयर) निरंतर एकीकरण प्रणाली में 'एच' का उपयोग यह संकेत करने के लिए किया जाता है कि एक हैश मान प्रतिस्थापित किया गया है। इस प्रकार एक निश्चित संख्या के अतिरिक्त '{{code|20 * * * *}}' का अर्थ है कि हर घंटे घंटे के 20 मिनट बाद, '{{code|H * * * *}}' संकेत करता है कि कार्य हर घंटे एक अनिर्दिष्ट परंतु अपरिवर्तनीय समय पर प्रत्येक कार्य के लिए किया जाता है। यह उन सभी को एक ही समय में प्रारंभ करने और संसाधनों के लिए प्रतिस्पर्धा करने के अतिरक्त समय के साथ कार्यों को फैलाने की अनुमति देता है।<ref name="jenkins">{{cite web|url=https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/hudson/triggers/TimerTrigger/help-spec.jelly|title=टाइमर ट्रिगर सिंटेक्स|publisher= jenkins.com| access-date=2018-02-16}}</ref> | ||
== यह भी देखें == | == यह भी देखें == | ||
* पर ( | * पर (कमांड) | ||
* [[लॉन्च किया गया]] | * [[लॉन्च किया गया]] | ||
* [[यूनिक्स कमांड की सूची]] | * [[यूनिक्स कमांड की सूची]] | ||
* [[निर्धारण (कंप्यूटिंग)]] | * [[निर्धारण (कंप्यूटिंग)]] | ||
* [[systemd]] - क्रोन समतुल्य (टाइमर कहा जाता है) | * [[systemd]] - क्रोन समतुल्य (टाइमर कहा जाता है) सम्मिलित है | ||
* [[fcron]] | * [[fcron]] | ||
* [[विंडोज टास्क शेड्यूलर]] | * [[विंडोज टास्क शेड्यूलर]] | ||
Line 263: | Line 265: | ||
{{Unix commands}} | {{Unix commands}} | ||
[[Category: | [[Category:Articles with hatnote templates targeting a nonexistent page]] | ||
[[Category:CS1 errors]] | |||
[[Category:Collapse templates]] | |||
[[Category:Created On 10/06/2023]] | [[Category:Created On 10/06/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Wikipedia external links cleanup from June 2015]] | |||
[[Category:Wikipedia metatemplates]] | |||
[[Category:Wikipedia spam cleanup from June 2015]] | |||
[[Category:जॉब शेड्यूलिंग]] | |||
[[Category:मानक यूनिक्स कार्यक्रम]] | |||
[[Category:यूनिक्स SUS2008 उपयोगिताओं]] | |||
[[Category:यूनिक्स प्रक्रिया- और कार्य-प्रबंधन-संबंधित सॉफ़्टवेयर]] | |||
[[Category:विकिपीडिया, मुक्त विश्वकोश]] |
Latest revision as of 11:54, 28 June 2023
Developer(s) | AT&T Bell Laboratories |
---|---|
Initial release | May 1975 |
Written in | C |
Operating system | Unix and Unix-like, Plan 9, Inferno |
Type | Job scheduler |
क्रॉन, कमांड-लाइन यूटिलिटी एक कार्य अनुसूचक है, जो यूनिक्स-प्रकार के ऑपरेटिंग सिस्टम पर उपयोग होता है। सॉफ़्टवेयर वातावरण को समायोजित करने और बनाए रखने वाले उपयोगकर्ताओं को क्रॉन का उपयोग कार्यों को निर्धारित समय,दिनांक या अंतराल पर नियोजित करने के लिए करते हैं, जिन्हें क्रॉन कार्यों के रूप में भी जाना जाता है,[1][2]
क्रॉन सामान्यतः सिस्टम रखरखाव या प्रशासन को स्वचालित करता है, यद्यपि इसकी सामान्यता से उपयोगीता के कारण इंटरनेट से फ़ाइलें डाउनलोड करने और नियमित अंतराल पर ईमेल डाउनलोड करने जैसी चीज़ों के लिए भी उपयोगी होता है।
क्रॉन सबसे अधिक उपयुक्त होता है जब नियमित रूप से दोहराने वाले कार्यों को निर्धारित करना होता है। एक बार कार्यों को निर्धारित करने के लिए जुड़े हुए यूटिलिटी का उपयोग किया जा सकता है।
क्रॉन का नाम समय के लिए यूनानी शब्द "ख्रोनोस" से प्राप्त हुआ है।[3]
संक्षिप्त विवरण
क्रॉन की क्रियाएं एक "क्रॉनटैब" फ़ाइल द्वारा नियंत्रित होती हैं, जो एक निर्धारित अनुसूची पर नियमित रूप से चलाने के लिए शेल कमांड निर्दिष्ट करने वाली एक संरूपण फ़ाइल होती है। क्रॉनटैब फ़ाइलें वहाँ संग्रहीत होती हैं जहां क्रॉन डीमन पर नियोजित कार्यों और अन्य निर्देशों की सूचियाँ रखी जाती हैं।
उपयोगकर्ताओं के पास अपनी अलग अलग क्रॉनटैब फ़ाइलें हो सकती हैं और सामान्यतः एक सिस्टम-व्यापी क्रॉनटैब फ़ाइल होती है, जिसे केवल प्रणाली प्रशासक संपादित कर सकते हैं।
क्रॉनटैब फ़ाइल की प्रत्येक पंक्ति एक कार्य को प्रतिष्ठान करती है और इसका आकार निम्नलिखित रूप में होता है
- ┌───────────── मिनट (0 - 59)
- │ ┌───────────── घंटा (0 - 23)
- │ │ ┌───────────── महीने का दिन (1 - 31)
- │ │ │ ┌───────────── महीना (1 - 12)
सप्ताह का दिन (0 - 6) (रविवार से शनिवार);
- │ │ │ │ │ 7 भी कुछ प्रणालियों पर रविवार है)
- │ │ │ │ │
- │ │ │ │ │
- * * * * * निष्पादित करने की आज्ञा
प्रत्येक पंक्ति का सिंटैक्स पांच क्षेत्रों से बना क्रॉन अभिव्यंजना की अपेक्षा करता है जो कमांड को निष्पादित करने के लिए समय का प्रतिनिधित्व करता है, जिसके बाद शेल कमांड को निष्पादित किया जाता है।
सामान्यतः, कार्य को निष्पादित किया जाता है जब समय/दिनांक निर्धारण क्षेत्रों की सभी मान समय/दिनांक के समान होते हैं। यद्यपि, एक अपवाद है: अगर "माह का दिन" और "सप्ताह का दिन" दोनों ही सीमित होते हैं तो एक या दोनों को समय/दिनांक के समान होना चाहिए। उदाहरण के रूप में, निम्नलिखित क्रॉन व्यवस्था द्वारा प्रतिदिन बजे 12:01 बजे अपाचे त्रुटि लॉग को साफ़ करेगी, यहां तक कि मान लिया जाए कि क्रॉन उपयोगकर्ता के लिए डिफ़ॉल्ट शेल बोर्न शेल के अनुरूप है:
1 0 * * * printf "" > /var/log/apache/error_log
यह उदाहरण प्रत्येक शनिवार को 23:45 (रात 11:45 बजे) को नामक एक शेल प्रोग्राम "export_dump.sh" को संचालित होता है।
45 23 * * 6 /home/oracle/scripts/export_dump.sh
ध्यान दें: कुछ प्रणालियों पर समय के हर n-वें अंतराल के लिए */n निर्दिष्ट करना भी संभव होता है। साथ ही, कार्यों में उदाहरण के लिए, 1,2,3 एकाधिक विशिष्ट समय अंतराल भी निर्दिष्ट किए जा सकते हैं। निम्नलिखित प्रतिमान के अनुसार, प्रत्येक पहले, दूसरे और तीसरे घंटे के हर 5 मिनट पर अर्थात 01:00, 01:05, 01:10 से लेकर 03:55 तक कमांड लाइन पर "हैलो वर्ल्ड" निर्गत होगा।
*/5 1,2,3 * * * echo hello world
उपयोगकर्ता के लिए समाकृति फ़ाइल को कॉल करके संपादित किया जा सकता है क्रोंटैब-ई
इस बात पर ध्यान दिए बिना कि वास्तविक कार्यान्वयन इस फ़ाइल को कहाँ संग्रहीत करता है।
कुछ क्रॉन
कार्यान्वयन, जैसे कि पॉल विक्सी द्वारा लिखित और कई लिनक्स वितरणों में सम्मिलित लोकप्रिय बर्कले सॉफ्टवेयर वितरण, एक छठा क्षेत्र जोड़ते हैं: एक खाता उपयोगकर्ता नाम जो निर्दिष्ट कार्यों संचालित करता है। यह केवल सिस्टम क्रोंटैब
में अनुमति है—दूसरों में नहीं, जिनमें से प्रत्येक को समाकृति करने के लिए एकल उपयोगकर्ता को नियुक्त किया गया है। खाता उपयोक्तानाम के अतिरिक्त कभी-कभी छठा क्षेत्र वैकल्पिक रूप से वर्ष के लिए उपयोग किया जाता है- विंडोज़ के लिए एनएनक्रॉन डेमन ऐसा करता है।
एमेज़ॅन इवेंटब्रिज़ के क्रॉन का अनुपालन करते समय, 0 से आधारित सप्ताह के दिन का उपयोग नहीं किया जाता है, अतिरिक्त इसके 1 से 7 चलते हैं। इसके अतिरिक्त, इसमें पहले सप्ताह का दिन और माह के अंतिम दिन जैसे अतिरिक्त अभिव्यक्ति सुविधाएँ भी होती हैं।[4]
गैर मानक पूर्वनिर्धारित निर्धारणों के संबंध मे
कुछ क्रोन कार्यान्वयन निम्नलिखित गैर-मानक मैक्रोज़ का समर्थन करते हैं
प्रविष्टियां | विवरण | के समान |
---|---|---|
@वार्षिक | 1 जनवरी की आधी रात को साल में एक बार संचालित होता है | 0 0 1 1 *
|
@मासिक | महीने में एक बार महीने के पहले दिन की आधी रात को संचालित होता है | 0 0 1 * *
|
@साप्ताहिक | सप्ताह में एक बार रविवार की सुबह आधी रात को संचालित होता है | 0 0 * * 0
|
@दैनिक (या @अर्धरात्रि ) | दिन में एक बार आधी रात को संचालित होता है | 0 0 * * *
|
@घंटेवार | घंटे की शुरुआत में एक घंटे में एक बार संचालित होता है | 0 * * * *
|
@रीबूट | प्रारंभ मे संचालित होता है | — |
@रिबूट क्रॉन को संरचित करता है जिससे एक कार्य एक बार चले जब डेमन प्रारंभ होता है। क्योंकि क्रॉन सामान्यतः पुनः से प्रारंभ नहीं होता है, इसलिए यह मशीन की बूट होने के समय के समान होता है। इस व्यवहार को कुछ क्रॉन के अलग-अलग रूपों में बाध्य किया जाता है, जैसे डेबियन में प्रदान किया गया है,जिससे बस डेमन को पुनः प्रारंभ करने से @रिबूट कार्य पुनः नहीं चलते।
@रिबूट
उपयोगी हो सकता है यदि किसी विशेष उपयोगकर्ता के तहत एक सर्वर या डेमन को सुरु करने की आवश्यकता हो और उपयोगकर्ता को प्रोग्राम को प्रारंभ करने के लिए इनिट समेकित करने का पहुंच नहीं होता है।
क्रॉन अनुमतियाँ
ये दो फाइलें महत्वपूर्ण भूमिका निभाती हैं
- यदि ईटीएस/क्रोन फ़ाइल उपस्थित होती है, तो उसमें उपयोगकर्ता का नाम होना चाहिए जिससे उपयोगकर्ता को क्रॉन नियमों का उपयोग करने की अनुमति हो।
- यदि /ईटीएस/क्रॉन.एलाऊ फ़ाइल उपस्थित नहीं है परंतु /ईटीएस/क्रॉन डेनि फ़ाइल उपस्थित होती है, तो क्रॉन नियमों का उपयोग करने के लिए उपयोगकर्ताओं को /ईटीएस/क्रॉन डेनि फ़ाइल में सूचीबद्ध नहीं होना चाहिए।
ध्यान दें कि यदि इन दोनों फ़ाइलों में से कोई भी उपस्थित नहीं है, तो साइट-विशेष समेकित पैरामीटर के आधार पर, या तो केवल सुपर उपयोगकर्ता क्रॉन नियमों का उपयोग कर सकता है, या सभी उपयोगकर्ता क्रॉन नियमों का उपयोग कर सकते हैं।
समय क्षेत्र प्रबंधन
अधिकांश क्रॉन कार्यान्वयन सिस्टम के समय क्षेत्र सेटिंग में क्रॉनटैब प्रविष्टियों को सीधे अनुवादित करते हैं,यदि एक बड़ी मल्टी-उपयोगकर्ता मशीन में कई समय क्षेत्रों में उपयोगकर्ताएं हैं, तो यह एक विवाद का कारण बन सकता है, विशेष रूप से यदि सिस्टम की डिफ़ॉल्ट समय क्षेत्र में दिग्भ्रमित करने वाला डीएसटी सम्मिलित हो।
इस प्रकार, क्रॉन कार्यान्वयन एक विशेष परिप्रेक्ष्य के रूप में उपयोगकर्ता क्रॉनटैब्स में " क्रॉन_TZ=<समय क्षेत्र>" के रूप में लाइन्स को मान्यता दे सकता है, और उस समय क्षेत्र के साथ आपात रूप से आगामी क्रॉनटैब प्रविष्टियों का अनुवाद कर सकता है।[5]
इतिहास
प्रारंभिक संस्करण
संस्करण 7 यूनिक्स में क्रॉन एक प्रणाली सेवा थी (जिसे बाद में डेमन कहा जाता था) से मंगाई गई थी /etc/rc
जब ऑपरेटिंग सिस्टम बहु-उपयोगकर्ता मोड में प्रवेश करता है।[6] इसका कलन विधि सीधा था:
- पढ़ना
/usr/lib/क्रॉनटैब
[7] - निर्धारित करें कि क्या कोई कमांड वर्तमान दिनांक और समय पर चलना चाहिए, और यदि ऐसा है, तो उन्हें सुपर उपयोगकर्ता, रूट के रूप में चलाएं।
- एक मिनट के लिए सो जाएँ।
- चरण 1 से पुनः प्रारंभ करें।
क्रॉन का यह संस्करण बुनियादी और मजबूत था परंतु इसने संसाधनों का भी उपभोग किया चाहे उसे करने के लिए कोई काम मिले या नहीं। 1970 के दशक के अंत में पर्ड्यू विश्वविद्यालय में एक समय-साझा वैक्स पर सभी 100 उपयोगकर्ताओं के लिए क्रॉन की सेवा का विस्तार करने के लिए एक प्रयोग में पाया गया कि यह सिस्टम पर बहुत अधिक भार डालता है। क्रॉन का यह संस्करण मूलभूत और मजबूत था,परंतु यह संसाधनों का उपयोग करता था, चाहे उसे काम मिला हो या नहीं। 1970 के दशक के अंत में पर्ड्यू विश्वविद्यालय में एक प्रयोग में, एक टाइम-शेयर्ड वैक्स पर सभी 100 उपयोगकर्ताओं के लिए क्रॉन की सेवा को बढ़ाने का प्रयास किया गया,परंतु इसे सिस्टम पर बहुत अधिक भार डालता है।
बहु-उपयोगकर्ता क्षमता
यूनिक्स प्रणाली वी के रिलीज के साथ क्रॉन का अगला संस्करण, सुपर उपयोगकर्ता के अतिरिक्त यूनिक्स प्रणाली के सभी उपयोगकर्ताओं को क्रॉन की क्षमताओं का विस्तार करने के लिए बनाया गया था। यद्यपि आज के दिन में यह छोटे संख्या में उपयोगकर्ताओं के साथ अधिकांश यूनिक्स और यूनिक्स-प्रतिरूप प्रणालियों के पास मजबूत प्रोसेसर होने के कारण तत्कालिक लगेगा, परंतु उस समय यह एक नई दृष्टिकोण की आवश्यकता थी, जब एक-एमआईपीएस सिस्टम में लगभग 100 उपयोगकर्ता खाते होते थे।
1977 के अगस्त की एसीएम के संचार, पत्रिका में, डब्ल्यू आर फ्रांटा और कुर्त माली ने "समरूपी घटना सेट के लिए एक प्रभावी डेटा संरचना" नामक लेख प्रकाशित किया था। इस लेख में वे एक प्रभावी डेटा संरचना का वर्णन कर रहे थे जो समरूपी आधारित घटना सेट के लिए थी।, इसमें एक घटना कतार डेटा संरचना का वर्णन किया गया था जो आपूर्ति-प्रेरित समरूपी सिस्टमों के लिए उपयोगी थी। यह लेख "सामान्य रूप से उपयोग किए जाने वाले सरल लिंक्ड सूची कलन-विधि के सापेक्ष में "बेहतर प्रदर्शन प्रदान करती है", असमान समय वितरण के विषय में अच्छा व्यवहार दिखाती है, और सबसे खराब मामले में संघटना की संख्या के लिए वर्तमान जटिलता ,होती है, यहां 'n' कतार में घटनाएं होती हैं
परद्यू विश्वविद्यालय के एक स्नातकोत्तर छात्र, रॉबर्ट ब्राउन, इस लेख की समीक्षा करते हुए, क्रॉन और असतत घटना समरूपी के मध्य समानता को मान्य किया और प्रयोग के लिए फ्रांटा-माली
घटना सूची प्रबंधक (ईएलएम) के एक अंगीकृतन का निर्माण किया।
असतत घटना अनुरूपक आभासी समय में चलते हैं, जितनी जल्दी हो सके घटना कतार से घटनाओं को छीलते हैं और अगले कार्यक्रम के निर्धारित समय पर उनकी धारणा को आगे बढ़ाते हैं। आभासी समय के सिवाय वास्तविक समय में घटना अनुरूपक चलाने से क्रॉन का एक संस्करण बनाया गया, जो अपना अधिकांश समय सोने में व्यतीत करता है, घटना अनुरूपक सूची के शीर्ष पर कार्य को निष्पादित करने के लिए निर्धारित समय की प्रतीक्षा करता है।
अगले स्कूल वर्ष में परद्यू में स्नातकोत्तर कार्यक्रम में नए छात्र सम्मिलित हुए, जिसमें कीथ विलियमसन भी थे, जो कंप्यूटर साइंस विभाग के सिस्टम कर्मचारी के रूप में सम्मिलित हुए। ब्राउन ने इसे एक "तापमान कार्य" के रूप में कहकर उनसे पूरे प्रोटोटाइप क्रॉन को एक प्रोडक्शन सेवा में विकसित करने का अनुरोध किया, और यह बहु-उपयोगकर्ता क्रॉन 1979 के अंतिम महीने में परद्यू में उपयोग में लाया गया। यह क्रॉन की यह संस्करण पूरी तरह से उन कंप्यूटर साइंस विभाग के वैक्स 11/780 पर इस्तेमाल हो रहे 32/V संस्करण के /ईटीएस/क्रॉन को पूरी तरह से प्रतिस्थापित कर दिया।
इस क्रॉन द्वारा उपयोग किया जाने वाला कलन-विधि निम्नलिखित है:
- प्रवर्तन, सभी खाताधारकों के होम निर्देशिकाओं में क्रॉनटैब नामक फ़ाइल की खोज करें।
- प्रत्येक क्रॉनटैब फ़ाइल के लिए, भविष्य में अगली बार निर्धारित करें कि प्रत्येक कमांड को चलना चाहिए।
- उन कमांडों को फ्रांटा-माली घटना सूची में उनके संबंधित समय और उनके पांच क्षेत्र समय विनिर्देशक के साथ रखें।
- मुख्य लूप में प्रवेश करें।:
- कतार के शीर्ष पर स्थित कार्य प्रविष्टि की जांच करें, इसे कितने समय में चलना चाहिए यह निर्धारित करें।
- उस समय अवधि के लिए शांति के लिए सो जाएं।
- जागने पर और सही समय की पुष्टि करने के उपरांत, क्यू में स्थित कार्य को स्वीकार करें, जिसके प्रदाता ने उसे बनाया है।
- इस कमांड को भविष्य में चलाने के लिए अगली बार का समय निर्धारित करें और उस समय मूल्य पर पुनः घटना सूची में रखें।
इसके अतिरिक्त,डेमन प्रवर्तन संकेत का प्रतिक्रिया देकर संशोधित क्रॉनटैब फ़ाइलों को पुनः स्कैन करता है और घड़ी के साथ और आधे घंटे में "जागृति घटनाओं" की योजना बनाता है जिससे संशोधित क्रॉनटैब फ़ाइलों की खोज कर सके। इसमें कंप्यूटर के समय-दिन के अनुकरण, यूनिक्सअलार्म अनुसूची निर्दिष्ट समय-दिन परिवर्तन और प्रक्रिया प्रबंधन के बारे में अशुद्धियों के बारे में बहुत सारा विवरण छोड़ दिया गया है, जिनमें से सभी कोड की अधिकांश पंक्तियों का हिसाब लिया जाता है। यह क्रॉन भी स्टाउट और स्टाइडर का आउटपुट रिकॉर्ड करता था और किसी भी आउटपुट को क्रॉनटैब के मालिक को ईमेल कर दिया जाता था। इस क्रोन स्केल द्वारा उपभोग किए गए संसाधनों को केवल उस काम की मात्रा के साथ दिया जाता है और समय-समय पर परिवर्तनों की जांच के अपवाद के साथ समय के साथ स्वाभाविक रूप से वृद्धि नहीं होती है।
विलियमसन ने अपने अध्ययन को पूरा कर दिया और अपने साथ मस्टर्स ऑफ़ साइंस कंप्यूटर साइंस में यूनिवर्सिटी से निकल गए और एटीएंडटी बेल लैब्स में मरे हिल, न्यूजर्सी में सम्मिलित हो गए और इस क्रॉन को ले गए। बेल लैब्स में उन्होंने और दूसरों ने यूनिक्स कमांड को क्रॉन में सम्मिलित किया, क्रॉनटैब फ़ाइलों को उपयोगकर्ताओं के होम निर्देशिकाओं से निकाल कर एक सामान्य होस्ट-विशिष्ट स्पूल निर्देशिका में स्थानांतरित किया, और आवश्यकता के अनुसार क्रॉनटैब कमांड को जोड़ा गया जिससे उपयोगकर्ताओं को उनके क्रॉनटैब को उस स्पूल निर्देशिका में कॉपी करने की अनुमति मिल सके।।
यह क्रॉन का यह संस्करण बाद में यूनिक्स प्रणाली वी और बीएसडी में अधिकांश बदले बिना प्रकट हुआ और इसके उपशाखाओं में सन माइक्रोसिस्टम्स के सोलारिस, सिलिकॉन ग्राफिक्स के इरिक्स हेवलेट-पैकर्डके एचपी-यूएक्स और आईबीएम के ऐक्स सम्मिलित हैं। तकनीकी रूप से, इन प्रयोजनों के मूल लाइसेंस पर आरंभ में पर्ड्यू रिसर्च फाउंडेशन के पास होना चाहिए था जिन्होंने इस कार्य का वित्त पोषण किया था, लेकिन यह समय ऐसा था जब इस तरह के विषयो को लेकर बहुत कम चिंता की जाती थी।
आधुनिक संस्करण
जीएनयू परियोजना और लिनक्स के आगमन के साथ, नए क्रोन दिखाई दिए। इनमें से सबसे प्रचलित विक्सी क्रोन है, जिसे मूल रूप से 1987 में पॉल विक्सी द्वारा कोडित किया गया था। विक्सी क्रोन का संस्करण 3 1993 के अंत में जारी किया गया था। संस्करण 4.1 का नाम बदलकर इंटरनेट सिस्टम कंसोर्टियम क्रोन कर दिया गया था और जनवरी 2004 में प्रस्तुत किया गया था। संस्करण 3, कुछ के साथ मामूली बग फिक्स, लिनक्स और बीएसडी के अधिकांश वितरणों में उपयोग किया जाता है।
2007 में, रेड हैट ने मित्र प्रोजेक्ट के लिए विक्सी-क्रॉन 4.1 को फोर्क किया और 2009 में एनाक्रॉन 2.3 को सम्मिलित किया।
अन्य लोकप्रिय कार्यान्वयनों में एनाक्रॉन और डीक्रॉन सम्मिलित हैं। यद्यपि, एनाक्रॉन एक स्वतंत्र क्रॉन प्रोग्राम नहीं है। एक और क्रॉन कार्य इसे बुलाना होगा। डीक्रॉन ड्रैगनफली बीएसडी के संस्थापक मैथ्यू डिलन द्वारा बनाया गया था, और इसका रखरखाव 2010 में जिम प्रायर द्वारा किया गया था [8]
2003 में,डेल मेलर ने मेक्रोन को पेश किया, जो गाइल में लिखा गया एक क्रोन परिवर्तन है जो विक्सी क्रॉन के साथ संगतता प्रदान करता है और साथ ही अधिक लचीलापन प्रदान करता है क्योंकि इसे किसी भी स्कीम कोड का उपयोग करने देता है जो अनुसूची गणना और नौकरी परिभाषाओं में उपयोग किया जा सकता है। म्क्रॉन डेमन और क्रॉनटैब फ़ाइल सामान्यतः स्कीम में लिखे जाते हैं, उपयोगकर्ता के नौकरी कतार की संचयीत स्थिति उनके कार्यों कोड के लिए उपलब्ध होती है, जिसे सूचीबद्ध किया जा सकता है यदि अन्य कार्यों के परिणाम कुछ मानदंडों को पूरा करते हैं। म्क्रॉन डिफ़ॉल्ट रूप से गुइक्स पैकेज प्रबंधक के अंतर्गत स्थापित किया जाता है, जो सेवाएं प्रबंधक के लिए म्क्रॉन क्रॉनटैब निर्मित करने के लिए प्रावधान करता है, साथ ही सुनिश्चित करता है कि कार्यों क्रियान्वयन के लिए आवश्यक पैकेज स्थापित करते हैं, और संबंधित क्रॉनटैब उन्हें सही रूप से संदर्भित करते हैं।
क्रोन अभिव्यंजना
क्रॉन अभिव्यक्ति एक स्ट्रिंग होती है जिसमें पांच या छः क्षेत्र होते हैं जो सफेद स्थान स अलग होते हैं और जो सामान्यतः किसी नियमितता को कार्यान्वित करने के लिए कुछ समयों का सेट प्रतिष्ठित करता है, यद्यपि यह किसी कार्यक्रम को निष्पादित करने के लिए एक अनुसूची के रूप में होती है।
टिप्पणियाँ एक टिप्पणी चिह्न के साथ प्रारंभ होती हैं, और स्वयं एक पंक्ति में होती हैं
क्षेत्र | आवश्यक | अनुमत मान | विशेष वर्णों की अनुमति है | टिप्पणियां |
---|---|---|---|---|
मिनट | Yes | 0–59 | * , -
|
|
घंटे | Yes | 0–23 | * , -
|
|
महीने का दिन | Yes | 1–31 | * , - ? L W
|
? L W केवल कुछ कार्यान्वयन में
|
महीना | Yes | 1–12 or JAN–DEC | * , -
|
|
सप्ताह का दिन | Yes | 0–6 or SUN–SAT | * , - ? L #
|
? L # केवल कुछ कार्यान्वयनों में
|
साल | No | 1970–2099 | * , -
|
यह क्षेत्र मानक/डिफ़ॉल्ट कार्यान्वयन में समर्थित नहीं है। |
महीने और सप्ताह के छोटे नाम अभिव्यक्तियों के प्रति अक्षर महत्वशून्य होते हैं। उनके बड़े और छोटे अक्षर में कोई अंतर नहीं होता है।
विशेष विषय में प्रणाली क्रॉनटैब फ़ाइल के मामले में, एक उपयोगकर्ता क्षेत्र कमांड से पहले अपने आप को सम्मिलित करती है। सामान्यतः यह 'रूट पर सेट किया जाता है।
क्रॉन प्रारूप के कुछ उपयोगों में पैटर्न के प्रारंभ में एक सेकंड क्षेत्र भी होता है। उस स्थिति में, क्रोन अभिव्यंजना एक स्ट्रिंग है जिसमें 6 या 7 क्षेत्र होते हैं।[9]तारांकन चिह्न ( *
)
- तारांकन सभी का प्रतिनिधित्व करता है। उदाहरण के लिए, * * * * * का प्रयोग हर मिनट चलेगा। प्रयोग* * * *1 प्रति मिनट केवल सोमवार को ही चलेगा। छह तारक का उपयोग करने का अर्थ है हर सेकेंड जब सेकंड समर्थित होते हैं।
- अल्पविराम (
,
) - किसी सूची के आइटम को अलग करने के लिए अल्पविराम का उपयोग किया जाता है। उदाहरण के लिए, पांचवें क्षेत्र में सोम, बुध, शुक्र का उपयोग करने का अर्थ सोमवार, बुधवार और शुक्रवार है।
- योजक (
-
) - डैश रेंज को परिभाषित करता है। उदाहरण के लिए, 2000–2010 प्रत्येक वर्ष 2000 और 2010 के बीच, सम्मिलित रूप से इंगित करता है।
- प्रतिशत (
%
) - कमांड में प्रतिशत-संकेत (%), जब तक कि बैकस्लैश (\) के साथ बच नहीं जाता है, न्यूलाइन वर्णों में बदल दिया जाता है, और पहले% के बाद के सभी डेटा मानक इनपुट के रूप में कमांड को भेजे जाते हैं।[10]
गैर-मानक वर्ण
निम्नलिखित गैर-मानक वर्ण हैं और केवल कुछ क्रॉन कार्यान्वयनों में उपस्थित होते हैं, जैसे कि क्वार्ट्ज_.
L
- 'L' का अर्थ "अंतिम" होता है। जब इसे सप्ताह के दिन क्षेत्र में उपयोग किया जाता है, तो इससे "दिए गए महीने का अंतिम शुक्रवार" ("5L") जैसे निर्माणों को निर्दिष्ट करने की अनुमति होती है। माह के दिन क्षेत्र में इसे दिए गए महीने का अंतिम दिन निर्दिष्ट करने के लिए प्रयुक्त किया जाता है।
W
- माह के दिन क्षेत्र के लिए 'W' वर्ण की अनुमति होती है। यह वर्ण दिए गए दिन के पास सबसे निकट दिन को निर्दिष्ट करने के लिए प्रयुक्त किया जाता है। उदाहरण के रूप में, अगर "15W" माह के दिनक्षेत्र के लिए मान निर्दिष्ट किया जाता है, तो इसका अर्थ होता है: "महीने के 15वें दिन के पास सबसे निकट दिन"। इसलिए, अगर 15वें दिन की शनिवार हो, तो ट्रिगर शुक्रवार को 14वें दिन को सक्रिय करेगा। अगर 15वें दिन की रविवार हो, तो ट्रिगर सोमवार को 16वें दिन को सक्रिय करेगा। अगर 15वें दिन की मंगलवार हो, तो ट्रिगर मंगलवार को 15वें दिन को सक्रिय करेगा। हालांकि, अगर "1W" माह के दिनक्षेत्र के लिए मान निर्दिष्ट किया जाता है, और पहला दिन शनिवार हो, तो ट्रिगर मंगलवार को 3वें दिन को सक्रिय करेगा, क्योंकि यह माह के दिनों की सीमा को 'पार' नहीं करता है। 'W' वर्ण को केवल जब माह के दिन एकल दिन हो, न कि दिनों की सीमा या सूची हो, तो ही निर्दिष्ट करता है।
हैश (#)
सप्ताह का दिन क्षेत्र के लिए '#' वर्ण की अनुमति होती है, और इसके बाद एक से पांच के बीच एक संख्या होनी चाहिए। इसकी मदद से "द्वितीय शुक्रवार" जैसे निर्माणों को निर्दिष्ट करने में सहायता मिलती है। उदाहरण के लिए, दिन-ऑफ-सप्ताह क्षेत्र में "5#3" दर्ज करना माने गए माह के हर महीने के तीसरे शुक्रवार को सक्रिय करेगा।
- प्रश्न चिह्न (
?
) - कुछ अनुप्रयोगों में, दिन-ऑफ-महीना या दिन-से-सप्ताह को खाली छोड़ने के लिए '*' के अतिरिक्त प्रयोग किया जाता है। अन्य क्रॉन अनुप्रयोगों में, "?" का प्रतिस्थान क्रॉन डीमॉन के स्टार्ट-अप समय के साथ किया जाता है, इसलिए "?" ? * * * * को 8:25 बजे प्रात: 8:25 बजे प्रारंभ होने पर 25 8 * * * * में अद्यतित किया जाएगा, और फिर से पुनःप्रारंभ होने तक यह हर दिन इस समय चलेगा।[11]
- स्लैश (
/
) - विक्सी-क्रॉन में, चरण मानों को निर्दिष्ट करने के लिए स्लैश को श्रेणियों के साथ जोड़ा जा सकता है।[12]उदाहरण के लिए, */5 मिनट क्षेत्र में प्रत्येक 5 मिनट संकेत करता है यह अधिक वर्बोज़ पॉज़िक्स फॉर्म के लिए आशुलिपि है 5,10,15,20,25,30,35,40,45,50,55,00. पॉज़िक्स स्लैश के उपयोग को परिभाषित नहीं करता है; इसका औचित्य नोट करता है कि परिभाषा सिस्टम वी प्रारूप पर आधारित है परंतु प्रारूप की संभावना को बाहर नहीं करती है।[13]
ध्यान दें कि आवृत्तियों को सामान्य रूप से व्यक्त नहीं किया जा सकता है; केवल चरण मान जो समान रूप से अपनी सीमा को विभाजित करते हैं, सटीक आवृत्तियों को व्यक्त करते हैं सेकंड के लिए, अर्थात /2, /3, /4, /5, /6, /10, /12, /15, /20 और /30 क्योंकि 60 उन संख्याओं से समान रूप से विभाज्य है; घंटों के लिए, वह है /2, /3, /4, /6, /8 और /12); अन्य सभी संभावित चरण और अन्य सभी क्षेत्र समय-इकाई के अंत में असंगत छोटी अवधियों को उत्पन्न करते हैं, इससे पहले कि यह अगले मिनट, दूसरे या दिन पर रीसेट हो जाए; उदाहरण के लिए, प्रवेश करना */5 महीने और लीप वर्ष के आधार पर दिन के लिए कभी-कभी क्षेत्र 1, 2 या 3 दिनों के बाद निष्पादित होती है; ऐसा इसलिए है क्योंकि क्रॉन स्टेटलेस है यह अंतिम निष्पादन के समय को याद नहीं करता है और न ही इसके बीच के अंतर को गिनता है और सटीक आवृत्ति गणना के लिए आवश्यक है।
कुछ भाषा-विशिष्ट पुस्तकालय जो क्रॉनटैब की अनुसूचना क्षमता प्रदान करते हैं, समय सीमाओं के बाईं ओर स्लैश के लिए "सख्त" रेंज 15-59/XX की आवश्यकता नहीं होती। इन विषयो में, 15/XX मिनट सेक्शन मेंविक्सी-क्रॉन अनुसूची 15-59/10 के बराबर होता है। उसी तरह, आप घंटों, दिनों और महीनों के लिए घटा सकते हैं 0-23/XX, 1-31/XX और 1-12/XX से अतिरिक्त -23, -31 और -12; क्रमशः।
H
- जेनकिन्स (सॉफ्टवेयर) निरंतर एकीकरण प्रणाली में 'एच' का उपयोग यह संकेत करने के लिए किया जाता है कि एक हैश मान प्रतिस्थापित किया गया है। इस प्रकार एक निश्चित संख्या के अतिरिक्त '
20 * * * *
' का अर्थ है कि हर घंटे घंटे के 20 मिनट बाद, 'H * * * *
' संकेत करता है कि कार्य हर घंटे एक अनिर्दिष्ट परंतु अपरिवर्तनीय समय पर प्रत्येक कार्य के लिए किया जाता है। यह उन सभी को एक ही समय में प्रारंभ करने और संसाधनों के लिए प्रतिस्पर्धा करने के अतिरक्त समय के साथ कार्यों को फैलाने की अनुमति देता है।[14]
यह भी देखें
- पर (कमांड)
- लॉन्च किया गया
- यूनिक्स कमांड की सूची
- निर्धारण (कंप्यूटिंग)
- systemd - क्रोन समतुल्य (टाइमर कहा जाता है) सम्मिलित है
- fcron
- विंडोज टास्क शेड्यूलर
नोट
संदर्भ
- ↑ "Difference between cron, crontab, and cronjob?". Stack Overflow.
- ↑ "Cron Job: a Comprehensive Guide for Beginners 2020". May 24, 2019.
- ↑ "लिनक्स - क्रॉन और क्रोंटैब".
- ↑ "नियमों के लिए अनुसूची अभिव्यक्तियाँ". Amazon.
- ↑ "crontab(5): tables for driving cron - Linux man page". Linux.die.net. Retrieved 2013-11-06.
- ↑ Minnie's Home Page http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/etc/rc. Retrieved 2020-09-12.
{{cite web}}
: Missing or empty|title=
(help) - ↑ Minnie's Home Page http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/cron.c. Retrieved 2020-09-12.
{{cite web}}
: Missing or empty|title=
(help) - ↑ Pryor, Jim (2010-01-05). "क्रॉन". arch-general@archlinux.org (Mailing list). Retrieved 2013-11-06.
- ↑ "क्रोनट्रिगर ट्यूटोरियल". Quartz Scheduler Website. Archived from the original on 25 October 2011. Retrieved 24 October 2011.
- ↑ "मैक्रोन क्रोंटैब संदर्भ". Gnu.org. Retrieved 2013-11-06.
- ↑ "क्रॉन प्रारूप". nnBackup. Retrieved 2014-05-27.
- ↑ "FreeBSD File Formats Manual for CRONTAB(5)". The FreeBSD Project.
- ↑ "crontab", The Open Group Base Specifications Issue 7 — IEEE Std 1003.1, 2013 Edition, The Open Group, 2013, retrieved May 18, 2015
- ↑ "टाइमर ट्रिगर सिंटेक्स". jenkins.com. Retrieved 2018-02-16.
बाहरी संबंध
This article's use of external links may not follow Wikipedia's policies or guidelines. (June 2015) (Learn how and when to remove this template message) |
- The Single UNIX Specification, Version 4 from The Open Group : schedule periodic background work – Shell and Utilities Reference,
- GNU cron (mcron)
- ISC Cron 4.1
- cronie
- ACM Digital library – Franta, Maly, "An efficient data structure for the simulation event set" (requires ACM pubs subscription)