लिनक्स पर हर छह घंटे में क्रोन जॉब चलाना


139

मैं हर दिन हर छह घंटे में कमांड कैसे चला सकता हूं?

मैंने निम्नलिखित कोशिश की, लेकिन यह काम नहीं किया:

/6 * * * * *  mycommand


2
के बारे में कैसे * * / 6 * * *
madalinivascu

जवाबों:


323

आप एक भूल गए हैं *, और आप बहुत सारे क्षेत्र हैं। यह वह घंटे है जिसकी आपको देखभाल करने की आवश्यकता है

0 */6 * * * /path/to/mycommand

इसका मतलब है कि हर छठे घंटे की शुरुआत 0 से होती है, यानी घंटे 0, 6, 12 और 18 पर जो आप लिख सकते हैं

0 0,6,12,18 * * * /path/to/mycommand

प्रतिक्रिया के लिए धन्यवाद, यह हर 6 घंटे का समय क्या है? वह समय जब क्रोन बनाया जाता है?
गंडालफ स्टॉर्मक्रे

धन्यवाद, इसलिए अगर मैं इसे हर 6 घंटे में 15:00 बजे से शुरू करना चाहता था 15 15,23,05,11 * * * /path/to/mycommand?
गैंडालफ स्टॉर्मक्रे

5
हां, हालांकि पहला क्षेत्र मिनट है, जिसे आपने 15 पर सेट किया है, इसलिए इसका मतलब 15: 15,23: 15,05: 15 और 11:15 होगा। (जो हर 6 वें घंटे btw नहीं है, आप का मतलब हो सकता है 0 15,21,3,9 * * *)
nos

6

आपको अपने कमांड में एक रास्ता शामिल करना चाहिए, क्योंकि क्रोन बड़े पैमाने पर कट-डाउन पर्यावरण के साथ चलता है। आपके पास आपके इंटरेक्टिव शेल सत्र में सभी पर्यावरण चर नहीं होंगे।

अपनी स्क्रिप्ट / बाइनरी के लिए एक पूर्ण पथ निर्दिष्ट करना, या पैट्रैब में ही पथ को परिभाषित करना एक अच्छा विचार है। किसी भी मुद्दे पर डिबग करने में मदद करने के लिए, मैं एक फ़ाइल में stdout / इरेज़ को भी रीडायरेक्ट करूंगा।


1
प्रतिक्रिया के लिए धन्यवाद, लेकिन अगर मैं अपनी sh फ़ाइल के अंदर पर्यावरण चर घोषित करता हूं, जैसे export variable=somethingमुझे अभी भी उसी स्क्रिप्ट के अंदर उनका उपयोग करना है? और मैं स्क्रिप्ट के अंदर डेट कमांड
अलॉट का

@ गैंडालफ़ - हाँ। आप स्क्रिप्ट के अंदर अपने सभी एनवी चर को परिभाषित कर सकते हैं। यह एक अच्छा विचार है क्योंकि इसका मतलब है कि आपकी स्क्रिप्ट स्टैंडअलोन है और अन्य सामानों से अलग है जिसे आप क्रोन के भीतर चलाना चाहते हैं
ब्रायन एग्न्यू

5
0 */6 * * * command

यह 6 घंटे एक दिन कहने का सही तरीका होगा।

आपकी आज्ञा छह मिनट के लिए डालती है!


2
@ArsenArsen मुझे पूरा यकीन है कि ऐसा इसलिए था क्योंकि यह वास्तव में मौजूदा स्वीकार किए गए जवाब में कुछ भी नहीं जोड़ता है, इसके 4 साल पहले लिखा था।
एडिनिया

2

कृपया इस वाक्यविन्यास पर ध्यान दें :

* */6 * * *

इसका मतलब है कि हर 6 घंटे में 60 बार (हर मिनट),

नहीं

हर 6 घंटे में एक बार।


0
0 */6 * * *

crontab हर 6 घंटे एक आमतौर पर इस्तेमाल किया क्रोन अनुसूची है।


4
यह उत्तर क्या जोड़ता है कि अन्य उत्तर नहीं देते हैं? @rkoots ने पहले ही इस सटीक कमांड का उल्लेख किया है।
अलविदा StackExchange

"आमतौर पर इस्तेमाल किया जाता है" ? क्यों? क्या आप विस्तार से समझा सकते हैं?
पीटर मोर्टेंसन

0

आपको उपयोग करने की आवश्यकता है *

0 */6 * * * /path/to/mycommand

इसके अलावा आप https://crontab.guru/ का उल्लेख कर सकते हैं जो आपको बेहतर शेड्यूल करने में मदद करेगा ...


-2

प्रयत्न:

0 */6 * * * command

। * करना है


1
यहाँ अंतिम पंक्ति ज्यादा मायने नहीं रखती है। क्या आप इसका विस्तार करने पर विचार करेंगे?
बजे

1
ऐसा लगता है कि उत्तर अधूरा है
ajayramesh
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.