Linux कमांड का उपयोग करके सिंगल क्रोन जॉब को कैसे हटाएं या हटाएं?


39

मैंने अपनी साइट के लिए क्रोन जॉब्स बनाए हैं जो नीचे सूचीबद्ध हैं और वे ठीक काम कर रहे हैं। मैं इस PHP स्क्रिप्ट का उपयोग करके सभी क्रोन जॉब प्रिंट करता हूं:

$cronfiles=exec('crontab -l',$output);
echo "<pre>";
print_r($output);

कौन से आउटपुट:

[0] => 0 0 * * * wget php -q http://www.example.com/report_send.php
[1] => 0 0 * * * wget php -q http://www.example.com/event_reminder.php
[2] => 0 0 * * * wget php -q http://www.example.com/user_reminder.php
[3] => * * * * * wget php -q http://www.example.com/cleardata.php

अब मैं अपने सर्वर से कमांड के माध्यम से एकल क्रोन जॉब को हटाना या हटाना चाहता हूं। उदाहरण के लिए मैं 0 0 * * * wget php -q http://www.example.com/event_reminder.phpसर्वर से क्रोन जॉब " " को हटाना चाहता हूं ।

मैंने crontab -rकमांड की कोशिश की जो मेरे सर्वर से सभी क्रोन जॉब को हटा देता है लेकिन मैं विशिष्ट क्रोन जॉब को हटाना चाहता हूं।

क्या आप कृपया समाधान के लिए मेरी मदद कर सकते हैं?

जवाबों:


61
  1. Crontab में नौकरी जोड़ने के लिए:

    (crontab -u mobman -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -u mobman -
    
  2. Crontab से नौकरी निकालने के लिए:

    crontab -u mobman -l | grep -v 'perl /home/mobman/test.pl'  | crontab -u mobman -
    
  3. Crontab से सब कुछ निकालें:

    crontab -r
    

कुछ भी मुश्किल नहीं है: -लिनक्स में STDOUT है!


1
ग्रेग: Ubuntu में आपका स्वागत है! ;-) क्या आप कृपया मेरे संपादन की समीक्षा कर सकते हैं और भविष्य में आपके उत्तरों की पठनीयता को बेहतर बनाने के लिए संपादन सहायता की समीक्षा भी कर सकते हैं; ;-)
Fabby

4
कृपया बदलें 1. Crontab के साथ एक नौकरी जोड़ने के लिए (crontab -u mobman -l 2> / dev / null; गूंज "* / 5 * * * * perl /home/mobman/test.pl") | crontab -u mobman - (Ref: stackoverflow.com/questions/4880290/… )
यासिरू जी

1
@YasiruG मुझे लगता crontab -l 2 > /dev/nullहै कि केवल आवश्यक है यदि आप संदेश नहीं देखना चाहते हैं no crontab for <user>यदि कोई मौजूदा क्रॉन नौकरी नहीं है। वैसे, -u mobmanयदि हमें वर्तमान उपयोगकर्ता के लिए क्रोन जॉब जोड़ना है तो हमें विकल्प की आवश्यकता नहीं है ।
बपतिस्मा

21

रूट प्रॉम्प्ट प्रकार से

crontab -e

अब आप फ़ाइल को संपादित कर सकते हैं और जिस लाइन को हटाना चाहते हैं उसे हटा सकते हैं। यदि आप उस उपयोगकर्ता के लिए संकेत देते हैं, तो आप इसका उपयोग उपयोगकर्ताओं के लिए crontab को संपादित करने के लिए भी कर सकते हैं।

वैसे: मैं क्रोनोजर को जोड़ना पसंद करता हूं /etc/crontab। मुझे थोड़ा और लचीला लगता है।


यह आसान लगता है और स्क्रिप्ट विज़ार्ड की तुलना में अधिक समझ में आता है, लेकिन मुझे लगता है कि मैं अधिक जादूगर की तरह था।
जेसन सेब्रिंग

मैन्युअल परिवर्तनों के लिए महान, लेकिन स्वचालन के लिए ऊपर की स्क्रिप्ट की जांच करें -
AFP_555

7

उपयोगकर्ता Cronjob देखें

वकलेह उपयोगकर्ता के क्रोनजोब देखने के लिए निम्नलिखित सिंटैक्स का उपयोग करें :

crontab -u waqleh -l

रूट उपयोगकर्ता क्रोनजोब देखें

बस निम्न कमांड टाइप करें:

crontab -l

यह कॉन्टैब स्क्रिप्ट की सामग्री को सूचीबद्ध करना चाहिए।

देखें / आदि / crontab

क्रोनजोब को / etc / crontab फ़ाइल से भी चलाया जा सकता है। इसे देखने के लिए, दर्ज करें:

less /etc/crontab

सभी क्रोन नौकरियों को हटा दें

यदि आप केवल और सभी क्रोन नौकरियों को रोकना चाहते हैं, तो आप उन्हें पूरी तरह से हटा सकते हैं:

crontab -r

यह पूरी crontab फ़ाइल को निकालता है तो सावधान रहें यदि आपको वहां अन्य क्रोन नौकरियां सूचीबद्ध हैं!

विशिष्ट क्रॉन जॉब निकालें

क्रोन फ़ाइल खोलें और उस क्रॉन (एस) को हटा दें जिसे आप हटाना चाहते हैं

crontab -e

प्रत्येक पंक्ति एक क्रोन नौकरी का प्रतिनिधित्व करती है। आप ctrl + k का उपयोग करके किसी भी क्रोन को हटा सकते हैं फिर सहेजें और बाहर निकलें


1
crontab -l | grep -v 'wget php -q http://www.example.com/event_reminder.php' | crontab -

crontab -l वर्तमान crontab नौकरियों को सूचीबद्ध करता है

grep -v कुछ लाइन फ़िल्टर करें

crontab - Crontab फ़ाइल में सभी मुद्रित सामग्री जोड़ता है।


0

आप crontabतर्क के बिना चला सकते हैं , और स्टड के माध्यम से इसे नया कोंट्राब खिला सकते हैं।


@qeirha .. मैं अपने सर्वर से विशिष्ट क्रोन की नौकरी निकालना चाहता हूं
aumavu

@anumavu, सही है, इसलिए आप इसे crontab -lपहले से ही पढ़ चुके हैं, जैसे कि आपके पास पहले से काम है, सूची से हटा दें, फिर इसे वापस लिखें crontab
जिरह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.