सवाल Crontab -l में सब कुछ कैसे अक्षम करें?


मैं सिर्फ सबकुछ रोकना चाहता हूं। सूचीबद्ध कुछ भी निष्पादित न करें crontab -l


52
2017-12-14 22:34


मूल




जवाब:


crontab -e फिर प्रत्येक पंक्ति को टिप्पणी करें जिसके साथ आप भागना नहीं चाहते हैं #


50
2017-12-14 22:39





सबसे पहले, crontab का बैक अप लें:

crontab -l > my_cron_backup.txt

फिर आप इसे खाली कर सकते हैं:

crontab -r

पुन: स्थापित करने हेतु:

crontab my_cron_backup.txt
crontab -l

104
2017-12-14 22:41



यह विशेष रूप से सहायक होता है जब /tmp दूषित है (और यदि आपका crontab -e उपयोग करता है mktemp में /tmp। - Kevin Lee
+1 अंत में, यह मेरे लिए काम किया है। धन्यवाद - Pavan
@alex यह स्वीकार्य उत्तर होना चाहिए - Luis Ferrao


क्या आपके पास रूट पहुंच है? बस क्रॉन रोको

sudo /etc/init.d/crond stop

फिर जब आप तैयार हों तो इसे पुनरारंभ करें

sudo /etc/init.d/crond start

57
2017-12-14 22:46



ऐसा लगता है कि आप रूट सहित सभी उपयोगकर्ताओं के लिए crontab को रोकना चाहते हैं। चयनित उत्तर, और कुबांस्कैम का जवाब केवल वर्तमान (वांछित?) उपयोगकर्ता के लिए करेगा। - Kevin K
हमारी क्रॉन्ड सेवा रोक दी गई थी। यह हमें सही दिशा में इंगित करता है कि यह जांचने के लिए कि क्या क्रॉन्ड चल रहा था, और फिर से शुरू करें। - Paul
यदि आप उबंटू पर हैं तो आप इसका उपयोग कर सकते हैं sudo service cron stop - Joel
डेबियन पर यह है /etc/init.d/cron stop। - Faheem Mitha
डेफियन पर @ फेहेम आजकल भी है service cron stop। - Stephen Kitt


यदि आप संपादक के रूप में vi का उपयोग कर रहे हैं, तो बस दर्ज करें :%s/^/#/ कमांड मोड में। सभी पंक्तियों (%) में, यह एक हैश (#) के साथ लाइन (^) की शुरुआत (s ///) को प्रतिस्थापित करता है।


10
2017-12-15 10:46



यदि आप डिफ़ॉल्ट संपादक के रूप में vi का उपयोग नहीं कर रहे हैं, तो आप vi जैसे "बल" का उपयोग कर सकते हैं EDITOR=vi; crontab -e, और आप ऊपर की चाल का उपयोग कर सकते हैं। - Betlista
अपूर्णता के लिए, आदेश है :%s/^#// - NP01


उपरोक्त विकल्पों से खुश नहीं थे क्योंकि वे एक लाइनर नहीं थे।

निष्क्रिय करने के लिए  crontab -l | perl -nle 's/^([^#])/# $1/;print' | crontab

सक्षम करने के लिए  crontab -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab

उपयोग उदाहरण (दिखाने के लिए संपादित यह टिप्पणियों को अक्षम नहीं करता है)

$ crontab -l
# Comment
0 0 * * 0 /opt/something.sh

$ crontab -l|perl -nle 's/^([^#])/# $1/;print'|crontab
$ crontab -l
# Comment
# 0 0 * * 0 /opt/something.sh

$ crontab -l|perl -nle 's/^#\s*([0-9*])/$1/;print'|crontab
$ crontab -l
# Comment
0 0 * * 0 /opt/something.sh

इसे आरएचईएल और एईक्स पर परीक्षण किया गया है, और इसे स्थापित करने के लिए आवश्यक कुछ भी बॉक्स से बाहर काम करना चाहिए


3
2017-09-12 10:31



Cronjob crontab -l | में विशिष्ट विवरण भी देख सकते हैं perl -nle's / ^ # \ s * ([0-1 *]) / $ 1 /; प्रिंट करें अगर / .+mytexttofind.+/ ' - Jason
क्या आप कृपया बता सकते हैं कि टिप्पणियां क्यों प्रभावित नहीं हुई हैं? उनका पता लगाने के लिए आप किस पैटर्न का उपयोग करते हैं? - Sopalajo de Arrierez


मेरे सीमित परीक्षण में, खोल को / bin / false कार्यों में सेट करना। आप अभी भी देखेंगे /opt/job.sh आपके लॉग में निष्पादन, लेकिन यह एक नोप होगा:

SHELL=/bin/false

*/1 * * * *    root  /some/job.sh

2
2017-10-13 21:23





यूनिक्स / लिनक्स के किसी भी स्वाद में जो मुझे पता है:

mv /var/spool/cron  /var/spool/cron_is_disabled

इस:

  • सभी उपयोगकर्ताओं के crontabs अक्षम करता है
  • लेकिन सिस्टम / आदि / crontab नहीं (/etc/cron.daily आदि)
  • एक रिबूट में बनी रहती है
  • एक लाइनर है, डुह :)

1
2017-11-05 17:12