CLI में Crontab के हटाने के विकल्प को अक्षम करें


13

उदाहरण के लिए, मैं एक विशिष्ट कमांड को कैसे निष्क्रिय कर सकता हूं crontab -r?

यह मेरे साथ दो बार पहले ही हुआ था कि मैं गलती से चला गया, क्योंकि मेरी Eचाबी चाबी के बगल में है R। वह छोटा टाइपो ही काफी है और आपका क्रेस्टब चला गया है।


2
महत्वपूर्ण फाइलों का बैकअप बनाना न भूलें!
वेजेंड्रिया

ज़रूर, मेरे पास @daily zip -r /home/./cripts/cronjobs-all.zip / var / spool / cron / crontabs
user66638

एक स्रोत कोड संशोधन नियंत्रण प्रणाली जैसे मर्क्यूरियल या Git भी स्क्रिप्ट फ़ाइलों के प्रबंधन और आकस्मिक परिवर्तन या विलोपन के खिलाफ सुरक्षित रखवाली के लिए होगा। आपको दोनों में से किसी एक के लिए दूरस्थ रिपॉजिटरी की भी आवश्यकता नहीं है। :-)
डेविड फ़ॉस्टर

जवाबों:


16

crontabकमांड के चारों ओर एक आवरण का उपयोग करें , उदाहरण के लिए यह फ़ंक्शन करेगा:

crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}

यह फ़ंक्शन जाँचता है कि क्या -rतर्क में मौजूद है crontab; यदि ऐसा है, तो संदेश के साथ बाहर निकलता है "r" not allowed, अन्यथा कमांड निष्पादित करता है।

~/.bashrcसभी इंटरएक्टिव bashसत्रों के आरंभ पर लोड होने के लिए इसे अपने अंदर रखें ।


27

मेरा सुझाव है कि आप इसमें शामिल हैं

alias crontab="crontab -i"

अपनी ~/.bashrcफ़ाइल में (परीक्षण से पहले एक नया शेल शुरू करें!)

इसका मतलब है कि हर बार जब आप कॉन्टैब चलाते हैं, तो आप हमेशा "-i" विकल्प का चयन करते हैं। यदि आप अब crontab -rकमांड देते हैं , तो इसे संसाधित किया जाता है crontab -ir, जो क्रॉस्टैब फ़ाइल को हटाने से पहले संकेत देता है:

nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.