Oh MyUtils

Cron एक्सप्रेशन पार्सर और बिल्डर - Crontab Guru विकल्प

Cron एक्सप्रेशन को विज़ुअली पार्स, एक्सप्लेन और बिल्ड करें। अगले एक्ज़ीक्यूशन टाइम देखें, मानव-पठनीय विवरण, ऑनलाइन crontab सिंटैक्स वैलिडेशन।

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

Cron एक्सप्रेशन क्या है?

Cron एक्सप्रेशन 5-7 फील्ड्स से बनी एक स्ट्रिंग है जो कार्यों को निष्पादित करने के शेड्यूल को दर्शाती है। मूल रूप से Unix-जैसे सिस्टम में cron जॉब्स शेड्यूल करने के लिए उपयोग की जाने वाली यह सिंटैक्स अब क्लाउड सेवाओं (AWS, Azure, GCP), CI/CD पाइपलाइनों और एप्लिकेशन फ्रेमवर्क में व्यापक रूप से उपयोग की जाती है। प्रत्येक फील्ड निर्दिष्ट करता है कि कार्य कब चलना चाहिए: मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन।

मैं इस Cron पार्सर टूल का उपयोग कैसे करूं?

इनपुट फील्ड में अपनी cron एक्सप्रेशन दर्ज करें (जैसे: 0 9 * * 1-5)। टूल तुरंत पार्स करके मानव-पठनीय विवरण और अगले निर्धारित निष्पादन समय प्रदर्शित करता है। सामान्य शेड्यूल के लिए प्रीसेट ड्रॉपडाउन का उपयोग करें। प्रत्येक फील्ड के लिए मान चुनकर दृश्य रूप से एक्सप्रेशन बनाने के लिए Build टैब पर जाएं।

क्या मेरा Cron एक्सप्रेशन डेटा सुरक्षित है?

हां। आपकी cron एक्सप्रेशन 100% सुरक्षित हैं और कभी आपके ब्राउज़र से बाहर नहीं जातीं। सभी पार्सिंग और गणना JavaScript का उपयोग करके क्लाइंट-साइड पर की जाती है। कोई भी डेटा किसी सर्वर पर नहीं भेजा जाता, जिससे यह टूल आपके किसी भी शेड्यूलिंग पैटर्न को टेस्ट करने के लिए सुरक्षित है।

मानक और विस्तारित cron प्रारूप में क्या अंतर है?

मानक Unix cron 5 फील्ड्स का उपयोग करता है: मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन। विस्तारित प्रारूप शुरू में सेकंड फील्ड जोड़ता है जिससे कुल 6 फील्ड्स होते हैं। Quartz (Java) जैसे कुछ सिस्टम 7-फील्ड प्रारूप का उपयोग करते हैं जिसमें वर्ष भी शामिल होता है। यह टूल मानक 5-फील्ड और विस्तारित 6-फील्ड दोनों प्रारूपों का समर्थन करता है।

दो दिन फील्ड्स (महीने का दिन और सप्ताह का दिन) क्यों हैं?

आप एक या दोनों निर्दिष्ट कर सकते हैं। जब दोनों गैर-वाइल्डकार्ड मानों के साथ निर्दिष्ट होते हैं, तो कार्य तब चलता है जब कोई भी शर्त पूरी होती है (दोनों नहीं)। उदाहरण के लिए, '0 9 15 * 1' का अर्थ है 'प्रत्येक महीने की 15 तारीख को सुबह 9 बजे या किसी भी सोमवार को सुबह 9 बजे' — न कि '15 तारीख को सुबह 9 बजे अगर वह सोमवार हो'.

'हर 5 मिनट' के लिए cron एक्सप्रेशन कैसे बनाएं?

*/5 * * * * का उपयोग करें। /5 का अर्थ है 'प्रत्येक 5वें मान पर'। इसी तरह, */15 * * * * हर 15 मिनट में चलता है, और 0 */2 * * * हर 2 घंटे में मिनट 0 पर चलता है।

Cron किस टाइमज़ोन का उपयोग करता है?

डिफ़ॉल्ट रूप से, cron सिस्टम के स्थानीय टाइमज़ोन का उपयोग करता है। क्लाउड सेवाओं में, आप अक्सर टाइमज़ोन निर्दिष्ट कर सकते हैं। यह टूल अगले निष्पादन समय आपके ब्राउज़र के स्थानीय टाइमज़ोन में दिखाता है।

कोड उदाहरण

// Simple cron expression parser
function parseCronExpression(expression) {
  const parts = expression.trim().split(/\s+/);
  if (parts.length !== 5) {
    throw new Error('Invalid cron expression: expected 5 fields');
  }

  const [minute, hour, dayOfMonth, month, dayOfWeek] = parts;

  function parseField(field, min, max) {
    if (field === '*') {
      return Array.from({ length: max - min + 1 }, (_, i) => min + i);
    }
    const values = new Set();
    field.split(',').forEach(part => {
      if (part.includes('/')) {
        const [range, step] = part.split('/');
        const stepNum = parseInt(step, 10);
        let start = min, end = max;
        if (range !== '*' && range.includes('-')) {
          [start, end] = range.split('-').map(Number);
        }
        for (let i = start; i <= end; i += stepNum) values.add(i);
      } else if (part.includes('-')) {
        const [start, end] = part.split('-').map(Number);
        for (let i = start; i <= end; i++) values.add(i);
      } else {
        values.add(parseInt(part, 10));
      }
    });
    return Array.from(values).sort((a, b) => a - b);
  }

  return {
    minute: parseField(minute, 0, 59),
    hour: parseField(hour, 0, 23),
    dayOfMonth: parseField(dayOfMonth, 1, 31),
    month: parseField(month, 1, 12),
    dayOfWeek: parseField(dayOfWeek, 0, 6),
  };
}

// Example usage
const expr = '0 9 * * 1-5';
console.log('Parsed:', parseCronExpression(expr));

संबंधित उपकरण