Cron एक्सप्रेशन जनरेटर
सीधे विकल्पों से crontab शेड्यूल बनाएं, फिर देखें कि वह सरल भाषा में क्या कहता है और अगली बार कब चलेगा।
पूरी तरह आपके ब्राउज़र में चलता है
Cron एक्सप्रेशन
* * * * *
अगले रन
आपके पास पहले से एक्सप्रेशन है और बस उसे समझना है? Cron एक्सप्रेशन समझें इस्तेमाल करें।
Vixie cron और cronie जैसा मानक पाँच-फ़ील्ड cron: मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन। Quartz और सेकंड वाले दूसरे फ़ॉर्मैट नहीं बनते, और पेस्ट किए ऐसे एक्सप्रेशन जो कंट्रोल में नहीं दिखाए जा सकते, जैसे लिखे गए वैसे ही रहते हैं।
Cron एक्सप्रेशन कैसे बनाएं
- किसी प्रीसेट से शुरू करें, या हर फ़ील्ड को ऐसा सेट करें कि वह हर बार चले, शुरुआत से हर N इकाई पर, ख़ास मानों पर, या दो मानों के बीच।
- एक्सप्रेशन, उसका सरल भाषा में वर्णन और अपने सर्वर की टाइम ज़ोन में अगले रन के समय जाँचें।
- एक्सप्रेशन को अपनी crontab, CI शेड्यूल या शेड्यूलर में कॉपी करें। आप पहले से मौजूद एक्सप्रेशन पेस्ट करके उसे कंट्रोल में लोड भी कर सकते हैं।
Cron शेड्यूल बनाना
Cron एक्सप्रेशन स्पेस से अलग किए गए पाँच फ़ील्ड होते हैं: मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन। हर फ़ील्ड इस बारे में एक सवाल का जवाब देता है कि जॉब कब चलना चाहिए, और जॉब तब चलता है जब सब मेल खाएँ। किसी फ़ील्ड को * छोड़ने का मतलब है हर मान, इसीलिए 0 * * * * हर घंटे की शुरुआत पर चलता है और 0 0 * * * रोज़ आधी रात को एक बार।
बिल्डर हर फ़ील्ड को चार तरीके देता है कि आप क्या चाहते हैं। */15 जैसा स्टेप हर 15वें मान के लिए है, 1,15 जैसी सूची ठीक-ठीक मान चुनती है, 9-17 जैसी रेंज दो मानों के बीच सब कुछ कवर करती है, और * हर मान है। जब आप मान टिक करते हैं तो लगातार तीन या ज़्यादा मान रेंज की तरह लिखे जाते हैं, इसलिए सोमवार से शुक्रवार 1,2,3,4,5 की जगह 1-5 देता है।
दो जाल ज़्यादातर लोगों को पकड़ते हैं। Cron उस मशीन की घड़ी इस्तेमाल करता है जिस पर वह चलता है, इसलिए 09:00 के लिए तय जॉब सर्वर के समय के हिसाब से 09:00 पर चलता है, जो आपका समय नहीं भी हो सकता; अगले रन की सूची से आप कई ज़ोन में जाँच सकते हैं। और जब महीने का दिन और सप्ताह का दिन, दोनों फ़ील्ड सीमित हों, तो जॉब तब चलता है जब उनमें से कोई एक मेल खाए, जिसका मतलब उम्मीद से कहीं ज़्यादा रन हो सकते हैं।
सुझाव
- किसी और का लिखा एक्सप्रेशन पढ़ने के लिए उसे Cron एक्सप्रेशन समझें में पेस्ट करें।
- लॉग के रन के समय को Unix टाइमस्टैम्प में, या वापस, Unix टाइमस्टैम्प कन्वर्टर से बदलें।
- शेड्यूल की गई स्क्रिप्टों पर एक्ज़ीक्यूट बिट लगा होना चाहिए; सही मोड chmod कैलकुलेटर में निकालें।
अक्सर पूछे जाने वाले सवाल
जॉब हर 15 मिनट पर कैसे चलाऊँ?
मिनट को हर 15 मिनट, 0 से शुरू करके पर सेट करें, जो */15 * * * * लिखता है। जॉब हर घंटे के मिनट 0, 15, 30 और 45 पर चलता है।
0 के अलावा कोई और शुरुआत कैसे लिखी जाती है?
मिनट 5 से शुरू होकर 10 के स्टेप जैसी शुरुआत 5-59/10 लिखी जाती है, जो 5, 15, 25, 35, 45 और 55 पर चलती है। छोटा 5/10 कुछ cron संस्करणों में चलता है पर दूसरे उसे ठुकरा देते हैं, इसलिए लंबा रूप हर जगह चलने वाला विकल्प है।
कुछ दिन रेंज से और कुछ सूची से क्यों चुने जाते हैं?
लगातार तीन या ज़्यादा मान रेंज की तरह लिखे जाते हैं, इसलिए सोमवार से शुक्रवार 1-5 है, जबकि सोमवार, बुधवार और शुक्रवार 1,3,5। दोनों का मतलब ठीक वही मान है जो आपने टिक किए।
महीने का दिन और सप्ताह का दिन दोनों तय करने पर क्या होता है?
मानक cron जॉब तब चलाता है जब उनमें से कोई एक मेल खाए, दोनों नहीं। 0 9 1 * 1 महीने की 1 तारीख़ को और हर सोमवार को चलता है। जब आपके चुनाव इस स्थिति में आते हैं तो टूल एक नोट जोड़ देता है।
अगले रन किस टाइम ज़ोन में दिखते हैं?
जो आप एक्सप्रेशन के नीचे चुनते हैं। cron ख़ुद उस मशीन या कंटेनर की टाइम ज़ोन इस्तेमाल करता है जिस पर वह चलता है, जब तक crontab में CRON_TZ न लगा हो। कई सर्वर UTC इस्तेमाल करते हैं, इसलिए किसी समय पर भरोसा करने से पहले जाँच लें।
क्या यह सेकंड, @daily या Quartz सिंटैक्स सँभालता है?
यह सिर्फ़ पाँच-फ़ील्ड एक्सप्रेशन बनाता है। @daily या कोई और शॉर्टकट पेस्ट करना चलता है और वह अपने पाँच फ़ील्ड में बदल जाता है। छह-फ़ील्ड और Quartz जैसे एक्सप्रेशन ठुकरा दिए जाते हैं, क्योंकि उनका पहला फ़ील्ड सेकंड होता है। Cron एक्सप्रेशन समझें इसे विस्तार से बताता है।