Cron एक्सप्रेशन जनरेटर
crontab शेड्यूल लिखें और पढ़ें। कोई cron एक्सप्रेशन डालें और शब्दों में देखें कि वह कब चलेगा, अगली बार कब चलेगा, और पाँचों फ़ील्ड में से हर एक का क्या अर्थ है।
हर मिनट।
अगली बार चलने का समय
समय आपके कंप्यूटर के टाइम ज़ोन () में दिखाया गया है। cron सर्वर का टाइम ज़ोन इस्तेमाल करता है, जो अक्सर वही नहीं होता।
आम शेड्यूल
ऊपर के फ़ील्ड में भरने के लिए कोई एक चुनें।
| * * * * * | हर मिनट |
| */5 * * * * | हर 5 मिनट |
| */15 * * * * | हर 15 मिनट |
| */30 * * * * | हर आधे घंटे |
| 0 * * * * | हर घंटे |
| 0 */2 * * * | हर 2 घंटे |
| 0 */6 * * * | हर 6 घंटे |
| 0 */12 * * * | दिन में दो बार |
| 0 0 * * * | हर दिन आधी रात को |
| 0 9 * * * | हर दिन सुबह 9 बजे |
| 0 9 * * 1-5 | सोमवार से शुक्रवार सुबह 9 बजे |
| 0 9 * * 6,0 | शनिवार और रविवार 9 बजे |
| 0 0 * * 1 | हर सोमवार आधी रात को |
| 0 18 * * 5 | हर शुक्रवार शाम 6 बजे |
| 0 0 1 * * | महीने का पहला दिन |
| 0 0 1 1 * | साल का पहला दिन |
हर फ़ील्ड का अर्थ
| फ़ील्ड | मान्य मान |
|---|---|
| मिनट | 0 – 59 |
| घंटा | 0 – 23 |
| महीने का दिन | 1 – 31 |
| महीना | 1 – 12, JAN – DEC |
| सप्ताह का दिन | 0 – 6, SUN – SAT (0 = 7) |
विशेष चिह्न
| चिह्न | अर्थ |
|---|---|
| * | कोई भी मान |
| , | सूची में मानों को अलग करता है |
| - | मानों की एक शृंखला |
| / | शृंखला के भीतर चरण |
शॉर्टकट
| @yearly, @annually | 0 0 1 1 * |
| @monthly | 0 0 1 * * |
| @weekly | 0 0 * * 0 |
| @daily, @midnight | 0 0 * * * |
| @hourly | 0 * * * * |
| @reboot | — |
ये POSIX cron का हिस्सा नहीं हैं, पर लगभग हर कार्यान्वयन इन्हें स्वीकार करता है।
जहाँ लोग अक्सर फँसते हैं
- जब महीने का दिन और सप्ताह का दिन दोनों सीमित हों, तो cron उन दिनों चलता है जो दोनों में से किसी एक से मेल खाते हैं, दोनों से नहीं। "* * 3 * 1" महीने की 3 तारीख़ को और हर सोमवार को चलता है। अपवाद तब है जब इनमें से कोई तारांकन से शुरू हो: "* * */2 * 1" केवल उसी विषम तारीख़ को चलता है जो सोमवार भी हो। मैनुअल पेज इस बात को ग़लत बताता है।
- सर्वर को, और उसके साथ cron को, UTC पर चलाएँ। डेलाइट सेविंग वाले ज़ोन में लिखा शेड्यूल साल में एक बार एक बार चलना छोड़ देता है और अगली बार एक दोहरा देता है।
- मानक cron में सेकंड या साल का कोई फ़ील्ड नहीं है। अगर आपको इतनी सटीकता चाहिए तो cron सही औज़ार नहीं है।
- @reboot से बचें। यह इस पर निर्भर करता है कि मशीन कैसे दोबारा चालू हुई और उस समय कौन-सी सेवाएँ तैयार थीं, जिससे इस पर सोचना कठिन हो जाता है।
- जो शेड्यूल पाँच फ़ील्ड में नहीं समाता उसे दो पंक्तियों में बाँटा जा सकता है। हर 90 मिनट पर कुछ चलाने के लिए "0 */3 * * *" और "30 1/3 * * *" साथ-साथ लिखें।
- कमांड को पूर्ण पथ के साथ लिखें। cron बहुत छोटे PATH के साथ चलता है और आपके शेल के लगभग किसी भी एनवायरनमेंट वेरिएबल के बिना।
cron एक्सप्रेशन के बारे में सामान्य प्रश्न
पाँच फ़ील्ड का क्या अर्थ है?
इसी क्रम में: मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन। तारांकन वाला फ़ील्ड हर मान से मेल खाता है।
रविवार 0 है या 7?
दोनों। अधिकतर कार्यान्वयन रविवार के लिए 0 और 7 दोनों स्वीकार करते हैं, और SUN से SAT तक तीन अक्षरों के नाम भी।
मेरा काम उस समय क्यों नहीं चला जिसकी मुझे उम्मीद थी?
आम वजहें हैं: सर्वर का किसी और टाइम ज़ोन में होना, ऊपर बताया गया महीने के दिन और सप्ताह के दिन वाला नियम, या कमांड का विफल होना क्योंकि cron आपके शेल की प्रोफ़ाइल नहीं पढ़ता।
क्या यह पेज मेरा एक्सप्रेशन कहीं भेजता है?
नहीं। एक्सप्रेशन पढ़ा जाता है और चलने के समय आपके ब्राउज़र में ही गिने जाते हैं; कुछ भी भेजा नहीं जाता।