Unix Cron अभिव्यक्ति निर्माता

अनुसूचित कार्यों को कॉन्फ़िगर करने के लिए दृश्य Cron अभिव्यक्ति जनरेटर। मिनट, घंटे, दिन, महीने, सप्ताह समय इकाई सेटिंग्स का समर्थन करता है, स्वचालित रूप से मानक Cron अभिव्यक्तियाँ उत्पन्न करता है।

Cron अभिव्यक्ति निर्माता

से चरण
हर मिनट
से तक

उत्पन्न परिणाम

कॉन्फ़िगर की गई फ़ॉर्म विकल्पों को स्वचालित रूप से सेट करने के लिए कोई मौजूदा Cron अभिव्यक्ति दर्ज करें

अगली निष्पादन समय

Cron अभिव्यक्तियों को समझना

Cron अभिव्यक्ति प्रारूप


I. Cron अभिव्यक्तियों की बुनियादी संरचना (प्रामाणिक स्रोतों के साथ)

एक मानक cron अभिव्यक्ति 5 समय फ़ील्ड्स और 1 कमांड फ़ील्ड से मिलकर बनती है, जो Unix और Linux सिस्टम परंपराओं का पालन करती है। IEEE Std 1003.1-2017 (POSIX मानक)[1] और Linux man 5 crontab दस्तावेज़ीकरण[2] के अनुसार, प्रारूप है:

* * * * * command-to-execute
│ │ │ │ │
│ │ │ │ └── सप्ताह का दिन (0-7, 0 और 7 दोनों रविवार को दर्शाते हैं)
│ │ │ └──── महीना (1-12)
│ │ └────── महीने का दिन (1-31)
│ └──────── घंटा (0-23)
└────────── मिनट (0-59)

प्रामाणिक नोट्स:

  1. POSIX मानक[1] न्यूनतम अनुकूलता विनिर्देश को परिभाषित करता है, जिसमें *, ,, और - प्रतीकों का समर्थन आवश्यक है।
  2. Linux सिस्टम cron कार्यान्वयन (जैसे Cronie) चरण मानों (/) और विशेष स्ट्रिंग्स (@daily, आदि) के साथ कार्यक्षमता का विस्तार करते हैं, जैसा उनके आधिकारिक दस्तावेज़[3] में विस्तार से बताया गया है।

II. समय फ़ील्ड प्रतीक नियम

प्रत्येक समय फ़ील्ड निम्नलिखित विशेष प्रतीकों का समर्थन करती है:

Symbol Description Example
* किसी भी मान से मेल खाता है मिनट में * = हर मिनट
, कई मान निर्दिष्ट करता है 1,3,5 = मिनट 1, 3, और 5
- एक सीमा परिभाषित करता है 10-15 = मिनट 10 से 15 तक
/ चरण मान (अंतराल) मिनट में */5 = हर 5 मिनट
? "कोई विशिष्ट मान नहीं" (केवल DOM/DOW के लिए) विवादों से बचने के लिए उपयोग किया जाता है

आधुनिक cron कार्यान्वयन (जैसे Vixie cron और इसके व्युत्पन्न) समृद्ध सिंटैक्स नियमों का समर्थन करते हैं। IBM Cron संदर्भ दस्तावेज़ीकरण[4] और Cronie प्रोजेक्ट विकी[3] के अनुसार, निम्नलिखित प्रतीक व्यापक रूप से समर्थित हैं:

Symbol Description Official Documentation Example
L अंतिम दिन (कुछ कार्यान्वयनों द्वारा समर्थित) 0 0 L * * = प्रत्येक महीने के अंतिम दिन निष्पादित होता है[5]
W निकटतम कार्यदिवस (जैसे, 15W = 15वें के सबसे नज़दीकी कार्यदिवस) Quartz Scheduler दस्तावेज़ीकरण[6] (Java पारिस्थितिकी तंत्र में सामान्य) देखें

III. पूर्वनिर्धारित उपनामों की उत्पत्ति (@daily, आदि)

@daily, @weekly, और समान उपनाम Paul Vixie के cron कार्यान्वयन (Vixie cron, 1987 में जारी)[7] से उत्पन्न हुए हैं, और अब आधुनिक Linux वितरणों (जैसे Debian, Red Hat) में डिफ़ॉल्ट सुविधाएँ हैं। Debian cron मैनुअल[8] के अनुसार:

# 0 0 * * * के बराबर
@daily /path/to/script

IV. सामान्य कार्यान्वयन अंतर और विचार

विभिन्न cron कार्यान्वयनों में सूक्ष्म भिन्नताएँ होती हैं, जिनके लिए उनके संबंधित दस्तावेज़ों का संदर्भ लेना आवश्यक है:

Implementation Features Official Resource Link
Cronie Red Hat का डिफ़ॉल्ट cron, @ शॉर्टकट का समर्थन करता है Cronie GitHub
systemd cron को .timer इकाइयों से बदलता है (नए सिस्टम्स के लिए अनुशंसित) systemd.timer मैनुअल
fcron अधिक जटिल सिंटैक्स का समर्थन करता है (जैसे, @yearly) fcron वेबसाइट

V. अनुशंसित सत्यापन उपकरण और प्रामाणिक संदर्भ

  1. Crontab मैनुअल पेज टर्मिनल में पूर्ण सिंटैक्स के लिए man 5 crontab चलाएँ — सबसे प्रत्यक्ष स्थानीय प्रामाणिक संदर्भ।

  2. Cron अभिव्यक्ति जनरेटर

  3. ओपन सोर्स प्रोजेक्ट दस्तावेज़ीकरण


VI. सारांश

POSIX मानकों, Linux मैनुअल पेजों, और प्रमुख कार्यान्वयनों (जैसे Cronie) के दस्तावेज़ीकरण को मिलाकर, उपयोगकर्ता cron अभिव्यक्ति के मूल तर्क को सटीक रूप से समझ सकते हैं। उन्नत उपयोग (जैसे L और W) के लिए, कार्यान्वयन अनुकूलता पर ध्यान दें और आधिकारिक संसाधनों को प्राथमिकता दें।


संदर्भ

[1] POSIX मानक: Cron परिभाषा
[2] Linux man 5 crontab मैनुअल पेज
[3] Cronie आधिकारिक दस्तावेज़ीकरण: GitHub Wiki
[5] Quartz Cron सिंटैक्स: Quartz Scheduler दस्तावेज़
[6] Vixie cron इतिहास: Vixie cron विकी
[7] Debian cron मैनुअल: Debian CronHowto

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Cron अभिव्यक्ति क्या है?

एक Cron अभिव्यक्ति 5 या 7 फ़ील्ड्स का एक स्ट्रिंग होती है जो रिक्त स्थान द्वारा अलग की जाती हैं, जिसका उपयोग Unix-जैसे ऑपरेटिंग सिस्टम्स में एक शेड्यूल का प्रतिनिधित्व करने के लिए किया जाता है। यह आपको कार्यों (जैसे बैकअप या स्क्रिप्ट) को विशिष्ट समय या अंतराल पर स्वचालित रूप से चलाने की अनुमति देता है।

मानक मोड और विस्तारित मोड के बीच क्या अंतर है?

मानक मोड 5 फ़ील्ड्स का उपयोग करता है (मिनट, घंटा, महीने का दिन, महीना, सप्ताह का दिन) और Linux/Unix cron जॉब्स द्वारा उपयोग किए जाने वाले मानक प्रारूप है। विस्तारित मोड 7 फ़ील्ड्स का उपयोग करता है, जिसमें शुरुआत में सेकंड और अंत में वर्ष जुड़ जाते हैं। इसका उपयोग अक्सर आधुनिक एप्लिकेशन शेड्यूलर जैसे Quartz (Java) या Spring द्वारा किया जाता है।

Cron में '?' प्रतीक का क्या अर्थ है?

'?' प्रतीक का अर्थ है 'कोई विशिष्ट मान नहीं'। इसका उपयोग केवल 'महीने का दिन' और 'सप्ताह का दिन' फ़ील्ड्स में किया जाता है। यह तब उपयोगी होता है जब आपको इन दो फ़ील्ड्स में से एक में कुछ निर्दिष्ट करना हो, लेकिन दूसरे की परवाह न हो। उदाहरण के लिए, यदि आप चाहते हैं कि कोई कार्य महीने की 10 तारीख को चले, चाहे सप्ताह का कौन सा दिन हो, तो आप महीने के दिन फ़ील्ड में '10' और सप्ताह के दिन फ़ील्ड में '?' डालते हैं।

क्या मैं किसी मौजूदा Cron अभिव्यक्ति से उसे उत्पन्न कर सकता हूँ?

हाँ! आप 'रिवर्स पार्स' सुविधा का उपयोग कर सकते हैं। बस अपनी मौजूदा Cron अभिव्यक्ति को इनपुट बॉक्स में पेस्ट करें और 'अभिव्यक्ति पार्स करें' पर क्लिक करें। दृश्य निर्माता स्वचालित रूप से आपकी अभिव्यक्ति की सेटिंग्स को दर्शाने के लिए अपडेट हो जाएगा।