OTOthoTools

Cron व्याख्याकार

शेड्यूल जाँचें
15 2 * * 1-5

मिनट 15, घंटा 2, माह का दिन *, माह *, सप्ताह का दिन 1-5।

शैक्षिक सुरक्षा मार्गदर्शन। उत्पादन में उपयोग से पहले हर परिणाम की समीक्षा करें।

परिचय

Cron व्याख्याकार मानक पाँच-फ़ील्ड cron एक्सप्रेशन — मिनट, घंटा, माह का दिन, माह, सप्ताह का दिन — सत्यापित करता है और सरल भाषा में समझाता है कि उसका क्या मतलब है।

cron सिंटैक्स संक्षिप्त और गलत पढ़ना आसान है: 0 2 * * 1-5 और 0 2 * * 1,5 बहुत अलग चीज़ें हैं। शेड्यूल पर दूसरी नज़र छूटे jobs और सुबह 2 बजे के आश्चर्य दोनों रोकती है।

उद्देश्य

  • सत्यापित करना कि एक्सप्रेशन में बिल्कुल पाँच मान्य फ़ील्ड हैं।
  • फ़ील्डों को पढ़ने योग्य वाक्य में बदलना।
  • प्रारंभिक बिंदु के रूप में सामान्य presets देना।

इनपुट

  • पाँच-फ़ील्ड cron एक्सप्रेशन, उदाहरण: 15 2 * * 1-5।
  • फ़ील्ड: मिनट (0–59), घंटा (0–23), माह का दिन (1–31), माह (1–12), सप्ताह का दिन (0–7, जहाँ 0 और 7 रविवार हैं)।

यह कैसे काम करता है

एक्सप्रेशन स्पेस पर विभाजित होता है। इसमें बिल्कुल पाँच फ़ील्ड होने चाहिए, और हर फ़ील्ड केवल अंकों और * / , - ऑपरेटरों से बना होना चाहिए।

उपकरण संख्यात्मक सीमाएँ गहराई से नहीं जाँचता (उदाहरण के लिए घंटे के रूप में 99 वर्ण जाँच पास करता है) — स्पष्टीकरण पाँच-फ़ील्ड संरचना के बारे में ईमानदार है।

मान्य एक्सप्रेशन एक वाक्य बनाता है जो हर फ़ील्ड को शाब्दिक पढ़ता है; अमान्य एक स्पष्ट त्रुटि संदेश देता है जो बिल्कुल पाँच फ़ील्ड माँगता है।

परीक्षण योग्य उदाहरण

आज़माएँ — विश्लेषण आपके ब्राउज़र में स्थानीय रूप से चलता है।

उदाहरण

एक्सप्रेशन: 15 2 * * 1-5

अपेक्षित आउटपुट

मान्य।
मिनट 15, घंटा 2, माह का दिन *, माह *, सप्ताह का दिन 1-5।
व्याख्या: कार्यदिवसों पर 02:15 बजे।

आउटपुट पढ़ना

  • यदि स्पष्टीकरण आपके इरादे से मेल खाता है, तो शेड्यूल संभवतः सही है।
  • क्लासिक जाल पर ध्यान दें: मानक cron (Vixie) में माह-का-दिन और सप्ताह-का-दिन OR-संयुक्त होते हैं, इसलिए दोनों प्रतिबंधित एक्सप्रेशन अपेक्षा से अधिक बार चल सकता है।
  • Presets (घंटेवार, दैनिक, साप्ताहिक, हर 5 मिनट) सुरक्षित प्रारंभिक बिंदु हैं।

जोखिम

  • मिनट या घंटा फ़ील्ड में टाइपो पूरा शेड्यूल खिसका देता है — 30 2 * * * 02:00 पर नहीं, 02:30 पर चलता है।
  • माह-का-दिन और सप्ताह-का-दिन दोनों उपयोग करने से OR अर्थ बनता है जो अधिकांश लोगों को आश्चर्यचकित करता है।
  • जब सिस्टम सोया या बंद हो तो चलने वाले jobs cron कार्यान्वयन के अनुसार छूट या विलंबित होते हैं — anacron और systemd timers अलग व्यवहार करते हैं।

सीमाएँ

  • उपकरण केवल मानक पाँच-फ़ील्ड प्रारूप स्वीकार करता है; यह @reboot जैसे Vixie विस्तार या सेकंड वाली छह-फ़ील्ड विविधता नहीं समझता।
  • सीमा जाँच जानबूझकर उथली है: घंटा फ़ील्ड में 99 वर्ण जाँच पास करता है।
  • यह एक्सप्रेशन समझाता है; यह सत्यापित नहीं कर सकता कि अंतर्निहित कमांड मौजूद है या उसकी अनुमतियाँ सही हैं।

आधिकारिक संदर्भ

FAQ

सप्ताह-का-दिन फ़ील्ड क्या स्वीकार करता है?

0–7, जहाँ 0 और 7 रविवार हैं। MON जैसे नाम इस वैलिडेटर में स्वीकार नहीं हैं — संख्याएँ, सीमाएँ और सूचियाँ उपयोग करें।

मेरा job अपेक्षा से अधिक बार क्यों चल रहा है?

यदि माह-का-दिन और सप्ताह-का-दिन दोनों प्रतिबंधित हैं, तो Vixie cron job तब चलाता है जब कोई एक मेल खाता है। सहज AND व्यवहार पाने के लिए दोनों में से एक फ़ील्ड में * उपयोग करें।

cron या systemd timers?

नए काम के लिए systemd timers बेहतर लॉगिंग, निर्भरताएँ और छूटे चलनों का प्रबंधन देते हैं। cron सरल, अच्छी तरह समझे शेड्यूल के लिए ठीक है।