Cron Expression Generator

चरण-दर-चरण बिल्डर के साथ Cron एक्सप्रेशन को दृश्य रूप से उत्पन्न करें

त्वरित प्रीसेट

मिनट

घंटा

महीने का दिन

महीना

सप्ताह का दिन

Cron एक्सप्रेशन

0 9 * * *

minute hour day(month) month day(week)

Cron Expression Generator क्या है?

Cron expression generator एक ऐसा उपकरण है जो दृश्य इंटरफ़ेस के माध्यम से cron शेड्यूल स्ट्रिंग तैयार करता है — इसके लिए आपको उन्हें हाथ से लिखने की आवश्यकता नहीं होती। Cron एक्सप्रेशन पाँच-फील्ड वाली स्ट्रिंग होती है (मिनट, घंटा, महीने का दिन, महीना, सप्ताह का दिन) जो परिभाषित करती है कि कोई recurring task कब चलना चाहिए। यह format 1979 के original Unix cron daemon से आया और अब crontab, Kubernetes CronJobs, GitHub Actions, AWS EventBridge, Google Cloud Scheduler तथा दर्जनों जॉब-शेड्यूलिंग लाइब्रेरियों में उपयोग होता है।

याद से cron एक्सप्रेशन लिखना गलतियों की एक आम वजह है। पाँचों फील्ड कई non-obvious तरीकों से interact करते हैं: मिनट फील्ड में */15 जैसा चरण मान 0, 15, 30 और 45 पर रन उत्पन्न करता है, जबकि 5/15 मिनट 5 से शुरू होकर 5, 20, 35, 50 देता है। महीने-के-दिन और सप्ताह-के-दिन को गैर-वाइल्डकार्ड मानों के साथ मिलाने से AND के बजाय OR शर्त बनती है, जो अनुभवी इंजीनियरों को भी चौंका देती है। एक visual generator आपको मनचाहा शेड्यूल चुनने और automatically सही syntax generate करने देकर इस उलझन को दूर करता है।

Cron generator, cron parser से भिन्न होता है। Parser किसी मौजूदा एक्सप्रेशन को लेकर उसे सरल भाषा में समझाता है। Generator विपरीत दिशा में काम करता है: आप अपनी आवश्यकता का शेड्यूल बताते हैं और उपकरण उससे मिलती cron स्ट्रिंग आउटपुट करता है। नया निर्धारित जॉब बनाते समय generator का उपयोग करें; मौजूदा जॉब की जाँच या डीबगिंग करते समय parser का।

इस Cron Generator का उपयोग क्यों करें?

हाथ से cron एक्सप्रेशन बनाने का अर्थ है फील्ड क्रम, मान रेंज और ऑपरेटर नियम याद रखना। एक गलत स्थान पर रखा फील्ड दैनिक जॉब को हर मिनट चलने वाले जॉब में बदल देता है। यह जेनरेटर आपको दृश्य रूप से अपना शेड्यूल चुनने और एक क्लिक में परिणाम कॉपी करने देता है।

🖱️
दृश्य शेड्यूल बिल्डर
ड्रॉपडाउन और टॉगल से मिनट, घंटा, दिन, महीना और सप्ताह का दिन चुनें। प्रत्येक फील्ड बदलने पर cron एक्सप्रेशन तुरंत अपडेट होता है। सिंटैक्स याद करने की कोई आवश्यकता नहीं।
🔒
गोपनीयता-प्रथम प्रसंस्करण
संपूर्ण उत्पादन प्रक्रिया आपके ब्राउज़र में चलती है। कोई शेड्यूल डेटा सर्वर को नहीं भेजा जाता। आपके cron एक्सप्रेशन और जॉब कॉन्फ़िगरेशन आपके डिवाइस पर ही रहते हैं।
पूर्वावलोकन के साथ तत्काल आउटपुट
बनाते समय उत्पन्न cron एक्सप्रेशन और अगले निर्धारित रन समय का पूर्वावलोकन देखें। अपने कॉन्फ़िग में कॉपी करने से पहले सत्यापित करें कि शेड्यूल सही है।
📋
कोई खाता आवश्यक नहीं
पृष्ठ खोलें और बनाना शुरू करें। कोई लॉगिन नहीं, कोई API कुंजी नहीं, कोई इंस्टॉलेशन नहीं। मोबाइल सहित किसी भी आधुनिक ब्राउज़र वाले डिवाइस पर काम करता है।

Cron Generator के उपयोग के मामले

Frontend Developer
एडमिन पैनल और शेड्यूलिंग UI के लिए cron एक्सप्रेशन बनाएं। डेटाबेस में cron स्ट्रिंग संग्रहीत करने वाले उपयोगकर्ता-सामना शेड्यूल पिकर के लिए सही सिंटैक्स उत्पन्न करें।
Backend Engineer
Celery, Sidekiq और Bull जैसी टास्क क्यू के लिए cron एक्सप्रेशन बनाएं। शेड्यूल स्ट्रिंग उत्पन्न करें, अगले रन सत्यापित करें और इसे अपने जॉब कॉन्फ़िगरेशन में चिपकाएँ।
DevOps / SRE
Kubernetes CronJobs, CI/CD पाइपलाइन और infrastructure automation के लिए cron शेड्यूल उत्पन्न करें। सिंटैक्स गलतियों के बिना बैकअप विंडो, प्रमाणपत्र नवीनीकरण और लॉग रोटेशन के लिए एक्सप्रेशन बनाएं।
QA Engineer
Integration testing के लिए specific intervals पर trigger होने वाले cron expressions बनाएं। Scheduler behavior verify करने के लिए expected run times वाले schedules तैयार करें।
Data Engineer
ETL पाइपलाइन ट्रिगर और डेटा सिंक शेड्यूल के लिए cron एक्सप्रेशन बनाएं। सटीक समय के साथ निष्कर्षण, रूपांतरण और लोड चरणों के लिए गैर-अतिव्यापी शेड्यूल उत्पन्न करें।
छात्र / नए लोग
दृश्य बिल्डर के साथ प्रयोग करके cron सिंटैक्स सीखें। अलग-अलग फील्ड बदलें और देखें कि एक्सप्रेशन तथा अगले रन समय कैसे बदलते हैं। वाइल्डकार्ड, रेंज और चरण मानों की सहज समझ विकसित करें।

सामान्य Cron शेड्यूल प्रीसेट

नीचे की तालिका सबसे अधिक उपयोग किए जाने वाले शेड्यूल के लिए cron एक्सप्रेशन सूचीबद्ध करती है। अधिकांश उत्पादन जॉब इन्हीं में से किसी एक प्रारूप में आते हैं। अपनी वास्तविक समय-आवश्यकता के अनुसार अलग-अलग फील्ड संशोधित करें।

शेड्यूलएक्सप्रेशनसामान्य उपयोग
Every minute* * * * *Health checks, queue polling
Every 5 minutes*/5 * * * *Metrics collection, cache refresh
Every 15 minutes*/15 * * * *API sync, dashboard updates
Every hour0 * * * *Log rotation, report generation
Every 6 hours0 */6 * * *Database backups, digest emails
Daily at midnight0 0 * * *Nightly batch jobs, cleanup scripts
Daily at 9 AM0 9 * * *Daily reports, notification digests
Weekdays at 9 AM0 9 * * 1-5Business-hours tasks, standup reminders
Every Monday at midnight0 0 * * 1Weekly reports, dependency updates
First of every month0 0 1 * *Billing runs, monthly aggregation
Every Sunday at 2:30 AM30 2 * * 0Full backups during low-traffic window
January 1st at midnight0 0 1 1 *Annual reports, license renewals

Cron एक्सप्रेशन के निर्माण खंड

प्रत्येक cron एक्सप्रेशन में ठीक पाँच फील्ड होते हैं, जिन्हें बाएँ से दाएँ पढ़ा जाता है। प्रत्येक फील्ड विशिष्ट मान और ऑपरेटर स्वीकार करता है। इन नियमों को जानना उत्पादन में आने वाले किसी भी शेड्यूल को लिखने के लिए पर्याप्त है।

पाँच-फील्ड cron एक्सप्रेशन की संरचना:
*min0-59
*hour0-23
*day1-31
*month1-12
*weekday0-6

चार ऑपरेटर नियंत्रित करते हैं कि प्रत्येक फील्ड में मान किस प्रकार मिलाए जाते हैं। इन्हें संयुक्त किया जा सकता है: सप्ताह-के-दिन फील्ड में 1-5/2 का अर्थ है सोमवार, बुधवार, शुक्रवार (रेंज 1-5, चरण 2)।

ऑपरेटरसिंटैक्सउदाहरणपरिणाम
Wildcard** (minute)Every minute
Lista,b,c1,15 (day)1st and 15th
Rangea-b9-17 (hour)9 AM through 5 PM
Step*/n*/10 (minute)Every 10 minutes
Range+Stepa-b/n10-30/5 (min)10, 15, 20, 25, 30

कोड उदाहरण

Node.js, Python, Go और bash में cron शेड्यूल बनाने और पंजीकृत करने का तरीका:

JavaScript (Node.js)
import { CronJob } from 'cron';

// Build a cron expression: every weekday at 9:00 AM
const expression = '0 9 * * 1-5';

const job = new CronJob(expression, () => {
  console.log('Running weekday morning task');
});
job.start();

// Programmatic expression building
function buildCron({ minute = '*', hour = '*', dom = '*', month = '*', dow = '*' }) {
  return `${minute} ${hour} ${dom} ${month} ${dow}`;
}

const expr = buildCron({ minute: '0', hour: '*/6', dow: '1-5' });
console.log(expr); // → "0 */6 * * 1-5"
Python
from crontab import CronTab

# Create a new cron job for the current user
cron = CronTab(user=True)

# Build a job: run backup.py every day at 2:30 AM
job = cron.new(command='python3 /home/user/backup.py')
job.setall('30 2 * * *')

print(job)           # → 30 2 * * * python3 /home/user/backup.py
print(job.is_valid()) # → True

# Schedule every 15 minutes on weekdays
job2 = cron.new(command='/usr/bin/sync-data')
job2.minute.every(15)
job2.dow.during('MON', 'FRI')

cron.write()  # Save to user's crontab

# Verify next run time
from croniter import croniter
from datetime import datetime

it = croniter('30 2 * * *', datetime.now())
print(it.get_next(datetime))  # → next 2:30 AM timestamp
Go
package main

import (
    "fmt"
    "strings"
    "github.com/robfig/cron/v3"
)

// BuildCron constructs a 5-field cron expression from parts
func BuildCron(minute, hour, dom, month, dow string) string {
    fields := []string{minute, hour, dom, month, dow}
    return strings.Join(fields, " ")
}

func main() {
    // Generate: every weekday at 9 AM
    expr := BuildCron("0", "9", "*", "*", "1-5")
    fmt.Println(expr) // → 0 9 * * 1-5

    // Validate and schedule it
    c := cron.New()
    _, err := c.AddFunc(expr, func() {
        fmt.Println("Running scheduled task")
    })
    if err != nil {
        fmt.Printf("Invalid expression: %v\n", err)
        return
    }
    c.Start()
}
Bash (crontab)
# Open the crontab editor to add a new job
crontab -e

# Add a cron job without opening an editor:
# Run cleanup.sh every Sunday at 3 AM
(crontab -l 2>/dev/null; echo "0 3 * * 0 /home/user/cleanup.sh") | crontab -

# Generate and add a job: every 10 minutes, log disk usage
EXPR="*/10 * * * *"
CMD="df -h >> /var/log/disk-usage.log"
(crontab -l 2>/dev/null; echo "$EXPR $CMD") | crontab -

# Verify the job was added
crontab -l | tail -1
# → */10 * * * * df -h >> /var/log/disk-usage.log

# Remove all cron jobs (use with caution)
# crontab -r

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

Cron एक्सप्रेशन में फील्ड का सही क्रम क्या है?
मानक पाँच-फील्ड क्रम है: मिनट (0-59), घंटा (0-23), महीने का दिन (1-31), महीना (1-12), सप्ताह का दिन (0-6, जहाँ 0 रविवार है)। यह क्रम POSIX द्वारा परिभाषित है और crontab, Kubernetes, GitHub Actions तथा अधिकांश cron लाइब्रेरियों द्वारा उपयोग किया जाता है। Quartz Scheduler जैसे कुछ उपकरण आरंभ में seconds फील्ड जोड़ते हैं, जिससे यह छह फील्ड हो जाता है, लेकिन पाँच-फील्ड संरचना सार्वभौमिक डिफ़ॉल्ट है।
'हर N मिनट' के लिए cron एक्सप्रेशन कैसे उत्पन्न करें?
मिनट फील्ड में चरण ऑपरेटर का उपयोग करें: */N। हर 5 मिनट के लिए */5 * * * * लिखें। हर 15 मिनट के लिए */15 * * * * लिखें। चरण ऑपरेटर फील्ड की रेंज को समान रूप से विभाजित करता है। ध्यान दें कि */7 घंटे की सीमाओं के पार हर 7 मिनट में रन नहीं देता; यह मिनट 0, 7, 14, 21, 28, 35, 42, 49, 56 पर रन देता है, फिर अगले घंटे में 0 से पुनः आरंभ होता है।
क्या मैं हर महीने के अंतिम दिन चलने वाला cron एक्सप्रेशन उत्पन्न कर सकता हूँ?
मानक POSIX cron में 'महीने का अंतिम दिन' ऑपरेटर नहीं होता। आप crontab या Kubernetes CronJobs में 0 0 L * * नहीं लिख सकते। वैकल्पिक उपाय में दिन 28-31 के लिए शेड्यूल करना और shell जाँच जोड़ना ([ $(date +%d -d tomorrow) -eq 01 ]), या Quartz जैसे विस्तारित cron कार्यान्वयन का उपयोग शामिल है जो L संशोधक का समर्थन करता है। AWS EventBridge के दर एक्सप्रेशन भी अंतिम दिन को सीधे लक्षित कर सकते हैं।
Cron generator और cron parser में क्या अंतर है?
Cron generator आपकी शेड्यूलिंग आवश्यकता (जैसे 'हर कार्यदिवस सुबह 9 बजे') लेता है और सही cron एक्सप्रेशन (0 9 * * 1-5) आउटपुट करता है। Cron parser विपरीत दिशा में काम करता है: यह किसी मौजूदा एक्सप्रेशन को लेकर मानव-पठनीय विवरण देता है। नए शेड्यूल बनाते समय generator का उपयोग करें। मौजूदा शेड्यूल की समीक्षा या डीबगिंग करते समय parser का।
Cron जॉब के अतिव्यापन से कैसे बचें?
Cron स्वयं अतिव्यापी रन को नहीं रोकता। यदि हर मिनट निर्धारित कोई जॉब 90 सेकंड लेता है, तो दो आवृत्तियाँ अतिव्यापित होंगी। इसे रोकने के लिए लॉक फ़ाइल (bash में flock), वितरित लॉक (Redis, etcd), या आपके शेड्यूलर की अंतर्निर्मित समवर्तिता नीति का उपयोग करें। Kubernetes CronJobs में concurrencyPolicy फील्ड होता है जिसे Forbid या Replace पर सेट किया जा सकता है। Celery जैसे एप्लिकेशन-स्तरीय शेड्यूलर में solo pool या टास्क-स्तरीय लॉक का उपयोग करें।
Cron में सप्ताह का पहला दिन 0 है या 1?
POSIX cron में 0 रविवार है और 6 शनिवार। अधिकांश कार्यान्वयनों में 0 और 7 दोनों रविवार दर्शाते हैं। Quartz Scheduler एक भिन्न परंपरा का उपयोग करता है जहाँ 1 रविवार और 7 शनिवार है। यदि आपका शेड्यूलर नामित दिन (SUN, MON, TUE) स्वीकार करता है, तो विभिन्न प्लेटफ़ॉर्म पर भ्रम से बचने के लिए उनका उपयोग करें।
किसी विशिष्ट टाइमज़ोन के लिए cron एक्सप्रेशन कैसे उत्पन्न करें?
पारंपरिक crontab सिस्टम के स्थानीय टाइमज़ोन का उपयोग करता है। कुछ प्रणालियों पर crontab फ़ाइल में TZ चर सेट किया जा सकता है (TZ=America/New_York)। Kubernetes CronJobs संस्करण 1.25 से .spec.timeZone फील्ड का समर्थन करते हैं। AWS EventBridge और Google Cloud Scheduler प्रत्येक शेड्यूल के लिए टाइमज़ोन निर्दिष्ट करने देते हैं। अपने कॉन्फ़िगरेशन में cron एक्सप्रेशन के साथ अपेक्षित टाइमज़ोन हमेशा दर्ज करें।