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)
प्रामाणिक नोट्स:
- POSIX मानक[1] न्यूनतम अनुकूलता विनिर्देश को परिभाषित करता है, जिसमें
*, ,, और - प्रतीकों का समर्थन आवश्यक है।
- 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. अनुशंसित सत्यापन उपकरण और प्रामाणिक संदर्भ
-
Crontab मैनुअल पेज
टर्मिनल में पूर्ण सिंटैक्स के लिए man 5 crontab चलाएँ — सबसे प्रत्यक्ष स्थानीय प्रामाणिक संदर्भ।
-
Cron अभिव्यक्ति जनरेटर
-
ओपन सोर्स प्रोजेक्ट दस्तावेज़ीकरण
VI. सारांश
POSIX मानकों, Linux मैनुअल पेजों, और प्रमुख कार्यान्वयनों (जैसे Cronie) के दस्तावेज़ीकरण को मिलाकर, उपयोगकर्ता cron अभिव्यक्ति के मूल तर्क को सटीक रूप से समझ सकते हैं। उन्नत उपयोग (जैसे L और W) के लिए, कार्यान्वयन अनुकूलता पर ध्यान दें और आधिकारिक संसाधनों को प्राथमिकता दें।
संदर्भ