ক্রন্টব-এল-এ কীভাবে সবকিছু অক্ষম করবেন?


উত্তর:


61

crontab -eতারপরে প্রতিটি লাইনে মন্তব্য করুন যাতে আপনি চালাতে চান না #।


133

প্রথমে ক্রন্টবকে ব্যাক আপ করুন:

crontab -l > my_cron_backup.txt

তারপরে আপনি এটি খালি করতে পারেন:

crontab -r

পুনঃস্থাপন করা:

crontab my_cron_backup.txt
crontab -l

2
এই বিশেষ সহায়ক যখন /tmpদূষিত (এবং আপনার নিম্নলিখিতরূপে crontab পরিবর্তন -e ব্যবহার করে mktempএ /tmp।
— কেভিন লি

1
+1 অবশেষে, এটি আমার পক্ষে কাজ করেছিল। ধন্যবাদ
— পাভান


crontab -rআমি যা খুঁজছিলাম ধন্যবাদ!
— ফোরজাগ্রীন

64

আপনার কি রুট অ্যাক্সেস আছে? শুধু ক্রোন বিরতি দিন

sudo /etc/init.d/crond stop

তারপরে আপনি প্রস্তুত হয়ে গেলে এটি পুনরায় চালু করুন

sudo /etc/init.d/crond start

5
এটি ধরে নেওয়া হচ্ছে যে আপনি রুট সহ সমস্ত ব্যবহারকারীর জন্য ক্রন্টবট বন্ধ করতে চান। নির্বাচিত উত্তর এবং কুবঙ্ককমের উত্তর কেবলমাত্র বর্তমান (পছন্দসই?) ব্যবহারকারীর জন্য এটি করবে।
— কেভিন কে 0

আমাদের ক্রন্ড পরিষেবা বন্ধ হয়ে গিয়েছিল। এটি আমাদেরকে সঠিক দিক নির্দেশ করেছে যাতে ক্রন্ডটি চলছে কিনা তা পরীক্ষা করে পুনরায় আরম্ভ করুন।
— পল

4
আপনি যদি উবুন্টুতে থাকেন তবে আপনি ব্যবহার করতে পারেনsudo service cron stop
— জোয়েল

1
ডেবিয়ান এ এটি /etc/init.d/cron stop।
— ফাহিম মিঠা

2
@ ফাহিম আজকাল ডেবিয়ানে এটিও service cron stop।
— স্টিফেন কিট

10

আপনি যদি vi হিসাবে সম্পাদক হিসাবে ব্যবহার করে থাকেন তবে কেবল :%s/^/#/কমান্ড মোডে প্রবেশ করুন। সমস্ত লাইনে (%), এটি হ্যাশ (#) দিয়ে লাইন (/) এর শুরুতে (s ///) প্রতিস্থাপন করে।


আপনি যদি ভিআইটি ডিফল্ট সম্পাদক হিসাবে ব্যবহার না করে থাকেন তবে আপনি vi এর মতো "জোর করে" ব্যবহার EDITOR=vi; crontab -eকরতে পারেন, এবং আপনি উপরের কৌশলটি ব্যবহার করতে পারেন।
— বেতলিস্ট


3

উপরের বিকল্পগুলি নিয়ে তারা সন্তুষ্ট ছিল না কারণ তারা একটি লাইনার ছিল না।

অক্ষম করা 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

এটি আরএইচইএল এবং এআইএক্স-এ পরীক্ষিত হয়েছিল এবং কিছু ইনস্টল করার প্রয়োজন ছাড়াই বাক্সের বাইরে কাজ করা উচিত


1
ক্রোনজ ক্রন্টব-এল-এও সুনির্দিষ্ট বিবরণ সন্ধান করতে পারেন পার্ল-এনলে'স / ^ # \ এস * ([০-১৫ *]) / $ 1 /; প্রিন্ট করুন যদি /.++tetettindind.+/ '
— জেসন

আপনি দয়া করে ব্যাখ্যা করতে পারেন কেন মন্তব্যগুলি প্রভাবিত হয় না? এগুলি সনাক্ত করতে আপনি যে ধরণটি ব্যবহার করেন তা কী?
— সোপালাজো ডি অ্যারিরেজ

হুঁ, ডেবিয়ান জেসি অধীনে আমি নিম্নলিখিত ত্রুটির পাবেন: crontab: usage error: file name must be specified for replace। দেখে মনে হচ্ছে crontabকোনও প্যারামিটার ছাড়াই ব্যবহার করার সময় আপনাকে কোনও ফাইল (?) নির্দিষ্ট করতে হবে (যা replaceপূর্বনির্ধারিত হয়)।
— frizmg

2

আমার সীমিত পরীক্ষায় শেলটি / বিন / মিথ্যা কাজগুলিতে সেট করা। আপনি এখনও /opt/job.shআপনার লগগুলিতে সম্পাদন করতে দেখবেন , তবে এটি একটি নূপুর হবে:

SHELL=/bin/false

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

1

ইউনিক্স / লিনাক্সের যে কোনও স্বাদে আমি জানি:

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

এই:

  • সমস্ত ব্যবহারকারীর ক্রোনট্যাব অক্ষম করে
  • তবে সিস্টেম / ইত্যাদি / ক্রন্টব নয় (/etc/cron.daily। ইত্যাদি)
  • একটি রিবুট জুড়ে অবিরত
  • ওয়ান লাইনার, ডু :)

1

আমি @ সেগ্যাপস দ্বারা সরবরাহিত উত্তর থেকে ধারণাটি পেয়েছি

অক্ষম করতে:

crontab -l | awk '{print "# "$1}' | crontab

সক্রিয় করতে:

crontab -l | cut -c 3- | crontab

Segaps দ্বারা সরবরাহিত সমাধানের সাথে একমাত্র সমস্যাটি হ'ল এটি কাজগুলিকে অস্বচ্ছল করে তুলবে, যা ইতিমধ্যে ব্যবহারকারীর দ্বারা মন্তব্য করা হয়েছে।


0

এটি করতে, সম্পাদক হিসাবে ন্যানো ব্যবহার করে:

sudo env EDITOR=nano crontab -e

তারপরে প্রতিটি লাইনে আপনি # দিয়ে চালাতে চান না বলে মন্তব্য করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.