मैं हर दिन एक विशिष्ट समय पर कर्ल कमांड को चलाने के लिए ओएस एक्स पर क्रॉन जॉब कैसे सेट कर सकता हूं?


21

मेरे पास एक CURL कमांड है जिसे मैं हर दिन 3 बजे कहना चाहता हूं, लेकिन मुझे यकीन नहीं है कि इसे कैसे सेट किया जाए और गाइड सभी अजीब हैं।

मान लें कि मेरे पास बहुत सारे टर्मिनल / बैश अनुभव हैं, लेकिन मैंने पहले कभी क्रोन सेटअप नहीं किया है।

क्या मेरे कंप्यूटर को जगाने के लिए क्रोन की नौकरी संभव है, भले ही वह सो रहा हो और ढक्कन बंद हो (macbook pro), बस इस एक कर्ल कमांड को चलाने के लिए और फिर इसे वापस सोने के लिए रख दें?

मैं इसे कैसे स्थापित करूं?

जवाबों:


23

कमांड चलाकर शुरू करें:

crontab -e

यह एक पाठ संपादक में आपके उपयोगकर्ता के लिए क्रेस्टब को खोलेगा। क्रोन अनुसूचित नौकरियों के लिए एक विशिष्ट अंकन का उपयोग करता है। नीचे दिया गया प्रारूप एक उपयोगकर्ता क्रॉस्टैब प्रविष्टि (जिसे टैब द्वारा अलग करने की आवश्यकता है) के लिए फ़ील्ड दिखाता है।

min  hour  day_of_month  month  day_of_week  command

रोजाना 3 बजे चलने के लिए कर्ल कमांड को शेड्यूल करने के लिए, आप लाइन डाल सकते हैं:

0  3  *  *  *  curl args...

ध्यान दें कि मिनट और घंटे 3am के अनुरूप हैं (साइड नोट: क्रोन 24 घंटे के समय के प्रारूप का उपयोग करता है, कोई सुबह या दोपहर नहीं)। तारांकन जो महीने के हर दिन, हर महीने, सप्ताह के हर दिन का मतलब है।

क्रोन आपके कंप्यूटर को नींद से नहीं जगा पाएगा लेकिन हो सकता है कि आपको नींद से ओक्स को जगाने के लिए यह पोस्ट सहायक क्रॉस्टब मिल जाए


1
जब मैं इसे crontab -eअपने टर्मिनल में देखता हूं: $ crontab -e crontab: no changes made to crontabऔर फिर यह crontab.some-random-stringफ़ोल्डर से फाइल के साथ मेरा टेक्स्ट एडिटर खोलता है /tmp। एक बार जब मैं इसे संपादित करता हूं और इसे सहेजता हूं, तो मेरे टर्मिनल में कुछ भी नहीं होता है। यदि मैं करता हूं crontab -l, तो मैंने जो नौकरी दर्ज की है वह दिखाई नहीं देती है। फिर अगर मैं crontab -eफिर से करता हूं , तो यह एक और रिक्त खोलता है crontab.some-random-string। मैंने पहले क्राउनटैब का परीक्षण किया जिसे मैंने 2 मिनट होने का समय निर्धारित करके बचाया था जब मैंने इसे बचाया था और क्रोन कभी भी नहीं चला था। क्या चल रहा होगा?
marcamillion

'Crontab -e' चलाने पर कौन सा टेक्स्ट एडिटर खुल रहा है?
diametralpitch

मेरा डिफ़ॉल्ट एक atom,। जब मैं अपने टर्मिनल में संपादित होने के लिए कुछ भी खोलता हूं तो वह लॉन्च होता है। यह वही है मैं अपने में है ~/.bash_profile, export EDITOR='open -a "/Applications/Atom.app"'
23

हम्म, यदि आप अपने दम पर कमांड लाइन से परमाणु चलाते हैं, तो क्या यह परमाणु को किसी अन्य कमांड के लिए संकेत देने से पहले बाहर निकलने की प्रतीक्षा करता है (यदि नहीं, तो आप एक अलग पाठ संपादक की कोशिश कर सकते हैं)।
एडम लुजेनब्रॉवर्स

@AdamLuchjenbroers मुझे यकीन नहीं है कि मैं आपके सवाल को पूरी तरह से समझ पा रहा हूं। मैं अपने सभी कोड संपादन के लिए परमाणु का उपयोग करता हूं। इसलिए अगर मैं किसी भी फाइल को संपादित करना चाहता हूं, तो मैं सिर्फ atom .निर्देशिका के अंदर करता हूं या atom <filepath>
marcamillion

0

अगर आप इसे GUI तरीके से करना चाहते हैं तो मैं आपको CreaniX को roaringapps https://roaringapps.com/app/cronnix से सुझा सकता हूं


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