আমি কি / etc / crontab সম্পাদনা করব বা রুট হিসাবে crontab চালাব?


43

আমি নিয়মিত সিস্টেম রক্ষণাবেক্ষণের কাজগুলি সেট আপ করছি যা রুট হিসাবে চালাতে হবে। আমি ক্রোন এর গন্ধটি ব্যবহার করার পরিকল্পনা করছি যা উবুন্টু 14.04 এলটিএসের সাথে ডিফল্ট হিসাবে আসে।

আমি আগের অ্যাডমিনটি দেখতে পেয়েছি (যেহেতু সংস্থাটি ছেড়ে গেছে) সরাসরি সম্পাদিত / ইত্যাদি / ক্রন্টব্যাব। তবে আমি বুঝতে পারি যে আরও একটি সম্ভাব্য উপায় crontab -eহ'ল মূল হিসাবে ব্যবহার করা। এক বা অন্যটি ব্যবহার করার জন্য কোনও বাধ্যতামূলক যুক্তি রয়েছে, বা এটি নীচে অগ্রাধিকার দেওয়া হচ্ছে?


9
আমার জন্য, এটি একটি বৈধ সেরা অনুশীলন প্রশ্নের মতো দেখায় এবং আমি আশা করি এটি বন্ধ হবে না। আমি ইতিমধ্যে উত্তরগুলিতে প্রাসঙ্গিক, বাস্তবিক পয়েন্টগুলি তৈরি করা এবং তাতে মন্তব্য দেখতে পাচ্ছি।
ম্যাডহ্যাটার মোনিকা

1
আমি একবার crontab -l টাইপ করতে গিয়েছিলাম (ক্রন্টব তালিকাবদ্ধ করতে) তবে আমি crontab টাইপ করেছি -; ভুল করে যা আমার ক্রন্টব এর পরিবর্তে মুছে ফেলেছে। আমি সেদিন অনেক কিছু শিখেছি।
লম্বারজ্যাক

উত্তর:


64

এটি উল্লেখ করা কার্যকর হতে পারে যে ব্যক্তিগত ক্রোনট্যাব ( crontab -e) এর কাজগুলি সর্বদা তাদের মালিক হিসাবে কার্যকর করা হয়, যেখানে /etc/crontabএকটি অতিরিক্ত বাধ্যতামূলক <user>ক্ষেত্র রয়েছে যাতে প্রশাসককে কাজটি নন-রুট ব্যবহারকারী হিসাবে চালানোর জন্য কনফিগার করতে দেয়।

সিস্টেম ক্রোনট্যাব সম্পাদনা করা বা রুটের জন্য ব্যক্তিগত ক্রোনট্যাব স্থাপন করা সম্ভবত কিছুটা বহনযোগ্য, নির্দিষ্ট লিনাক্স বিতরণগুলির সাথে নির্দিষ্ট নয় এবং একক ফাইলের সমস্ত চাকরি সহ কোনও ব্যক্তির বজায় রাখার পক্ষে তর্কসাপেক্ষে আরও সুবিধাজনক তবে:

ব্যক্তিগতভাবে আমি একটি তৃতীয় বিকল্পের পক্ষে : প্রতিটি তফসিল টাস্কের জন্য হয় ড্রপ

  • /etc/cron.d/ক্রোন স্নিপেট সহ একটি ফাইল
  • সম্পর্কিত /etc/cron.[hourly |daily |weekly |monthly]ডিরেক্টরিতে একটি এক্সিকিউটেবল (স্ক্রিপ্ট) ।

এটি স্ক্রিপ্ট করা সহজ (আপনি কেবল এই জাতীয় ফাইল তৈরি / মুছে ফেলা / মুছে ফেলতে পারেন এবং আপনাকে কোনও একক ক্রন্টাব ফাইলের বিষয়বস্তু সম্পর্কে উপহাস করতে হবে না) এবং এটি কনফিগারেশন ম্যানেজমেন্ট টুলিংয়ের সাথে ভাল কাজ করে এবং প্যাকেজ পরিচালনাকারীরা ইতিমধ্যে এটি যাই হোক না কেন।

চাকুরী / স্ক্রিপ্টগুলি /etc/cron.[hourly |daily |weekly |monthly]সর্বদা মূল হিসাবে চালিত হয়, যেখানে ক্রোন স্নিপেটগুলি /etc/cron.d/উভয়ই কাস্টম শিডিয়ুলি সেট করার পাশাপাশি সেই একই বাধ্যতামূলক <user>ক্ষেত্রের সাথে পৃথক ব্যবহারকারী হিসাবে চলার অনুমতি দেয় /etc/crontab


18
সম্পাদনার একটি অপূর্ণতা /etc/crontabহ'ল আপনি যখনই cronপ্যাকেজটি আপডেট করবেন তখনই একত্রীকরণের প্রয়োজন হবে । আপনি যদি কেবল কোনও /etc/cron.*ডিরেক্টরিতে একটি নতুন ফাইল যুক্ত করেন তবে আপনার সমস্যা নেই ।
ক্যাস্পার্ড

1
আপনি যোগ করা উচিত যে অধিকাংশ ডিস্ট্রো মধ্যে /etc/cron.[hourly |daily |weekly |monthly]ঝুলিতে এক্সেকিউটেবল যখন /etc/cron.dcrontabs ঝুলিতে। এটি বাদে +1।
GnP

আমি অবশ্যই ক্রোনটির একটি অনুরাগী [[সময়সীমা] ডিরেক্টরিগুলি, কম-এর বিকল্পগুলির চেয়ে আমার খুব কমই বেশি দানাদার প্রয়োজন। যদিও দয়া করে মনে রাখবেন যে কিছু ডিস্ট্রোস, বিশেষত উবুন্টু এই ফোল্ডারগুলিতে ফাইল এক্সটেনশনের সাথে স্ক্রিপ্টগুলিকে চুপচাপ উপেক্ষা করবে (বেশিরভাগ লোকেরা .sh যুক্ত করবেন বিবেচনা করে, এটি সাম্প্রতিক ডিস্ট্রোজে স্থির করা যেতে পারে)। সেই পরিস্থিতিতে স্ক্রিপ্টগুলি কেন কাজ করছিল না তা নিয়ে কাজ করা খুব কঠিন - কমপক্ষে ক্রন্টবটিতে যুক্ত করা কার্যকর করার গ্যারান্টিযুক্ত।
গারগ্রাভের

15

সর্বোত্তম হিসাবে আমি মনে করি, crontab -eএটির অতিরিক্ত সুবিধা রয়েছে যা এটি ইনস্টল করার আগে ক্রন্টব সিনট্যাক্সটি যাচাই করে এবং আপনার কোনও ভুল হলে পূর্ববর্তীটি ত্রুটি করে এবং পুনরুদ্ধার করে। এই পদ্ধতিতে, পূর্বে যা কিছু কাজ করা হয়েছিল তা হঠাৎ করে থামবে না যদি আপনি সিনট্যাক্সটি ভুল হয়ে যান। আমি মনে করি সেরা অনুশীলন হ'ল ইউটিলিটিগুলি ব্যবহার করা, যেমন সরাসরি visudoসম্পাদনার পরিবর্তে চালানো /etc/sudoers


2
+1 সিনট্যাক্স বৈধতা সম্পর্কে ভাল পয়েন্ট, যদিও এটি কিছু বাক্য গঠন ত্রুটিগুলি স্বীকৃতি দেয় এটি বোকা-প্রমাণ থেকেও দূরে (যেমন এটি আপনাকে happ /etc/crontabষ্ঠ কলামে ব্যবহারকারীর নাম সহ একটি লাইনে প্রবেশ করার অনুমতি দেবে )। - যদিও আমি যুক্তি দিতে চাই যে ইন্টারেক্টিভ সরঞ্জামগুলি ব্যবহার করা "সর্বোত্তম অনুশীলন" নয় , আপনার পপিট / লবণ / উত্তরযোগ্য ইত্যাদি সরঞ্জামগুলি দিয়ে স্বয়ংক্রিয়ভাবে চালিত হওয়া উচিত এবং প্রথমে আর হাতে হাতে সার্ভারগুলি কনফিগার করা উচিত নয়। অন্যদিকে আপনি যদি পুরানো-স্কুল হন তবে অবশ্যই আপনার সরঞ্জামগুলি ব্যবহার করুন use
এইচবিউইজন

আপনি 5+ সার্ভারগুলি কনফিগার করলে উত্তরযোগ্য এবং অন্যরা ভাল, তবে 1 টির জন্য ঝামেলাটি মূল্যহীন নয় You আপনি যুক্তি দিতে পারেন যে 1 টি সার্ভারের সাথে একটি উত্তরীয় স্ক্রিপ্ট আপনাকে 2 বছর লাইনে ব্যর্থ হলে এটি অভিন্নভাবে পুনর্নির্মাণের ক্ষমতা দেয়, তবে সেই সময়ে স্ক্রিপ্টটি ডিস্ট্রোজ / রেপো পরিবর্তনের কারণে আর কাজ না করার সম্ভাবনা রয়েছে।
marcv81

এই কারণেই আমি গৃহীত উত্তরের সাথে তীব্রভাবে একমত নই। যা কিছু পরিবর্তন আনা হচ্ছে তা এই বৈধতা প্রক্রিয়াটি কমপক্ষে একবার চালানো উচিত। তারপরে যদি কেউ নতুন ক্রন্টব থেকে একটি লাইন অনুলিপি করে এবং অন্য সার্ভারগুলিতে প্রচার করার জন্য এটি একটি স্বয়ংক্রিয় সরঞ্জামকে সরবরাহ করে, তবে এটি উভয় বিশ্বের সেরা।
মন্টি হার্ডার

কোনও স্ক্রিপ্ট আরম্ভ করে না থাকলে এবং স্ক্রিপ্টে ত্রুটি থাকতে পারে না তাই কোনওভাবেই ড্রাই ড্রাই টেস্টের প্রয়োজন।
ম্যাকেনজম

@ ম্যাকেনজম সম্মত হয়েছে, তবে আপনি কেবলমাত্র বোকা-প্রুফিং আবেদন করতে পারবেন :)
গারগ্র্যাভার

2

এটি সত্যই একটি শৈলীর প্রশ্ন, ওএস দ্বারা একাধিক পদ্ধতি প্রস্তাব করার একটি কারণ রয়েছে। আপনি যদি অন্য কাউকে বিভ্রান্ত করতে না চান (তবে নিজেকে সিস্টেমের সাথে না ডেকে আনার জন্য) বা না করতে চাইলে কেবল সামঞ্জস্য বজায় থাকুন এবং মেশবেন না - যদি পুরো হোস্টের মধ্যে আসলে কোন কাজগুলি নির্ধারিত হয় তা যদি দেখতে অসুবিধা হয় তবে তা প্রবণতা দেখা দেয় বাজে আশ্চর্য অবসান।


2

ক্রোন জব যুক্ত করার জন্য নিশ্চিত হতে যাতে নির্দিষ্ট ব্যবহারকারীর অধিকারের প্রয়োজন হয়, আমি ব্যক্তিগতভাবে নিম্নলিখিত কমান্ডটি ব্যবহার করি:

 # crontab -u <user> -e

আপনি খুব যোগ করতে পারেন sudo

@ রেক্যান্ডবোনম্যান যেমন বলেছে, /etc/cron.d/ ফাইলগুলিতে গণ্ডগোল করার দরকার নেই। যদি বিষয়টি ব্যবহারকারীর ক্রোন জব সম্পর্কিত হয় তবে crontabকমান্ডের বৈশিষ্ট্যগুলি ব্যবহার করুন ।


3
-1 উপরের কাজটি করার বড় অসুবিধা হ'ল ব্যবহারকারী এখন ক্রোনজবাকেও সংশোধন / মুছে ফেলতে / ভাঙ্গতে সক্ষম করতে পারবেন, যা অ্যাডমিন হিসাবে আপনার মূল্যবান সময় ব্যয় করার সময় সাধারণত কাঙ্ক্ষিত হয় না ... এছাড়াও যখন ব্যবহারকারী একটি পরিষেবা অ্যাকাউন্ট এবং সেই অ্যাকাউন্টটি লক / মেয়াদোত্তীর্ণ হয়ে গেছে পরিষেবাটি চলতে থাকবে তবে লক করা অ্যাকাউন্টগুলির জন্য ব্যক্তিগত ক্রোন ট্যাবগুলি সাধারণত অক্ষম হয়ে যায়।
এইচবিউইজন

যদি এখানে নির্দিষ্ট করা ব্যবহারকারী একজন সর্বজনীন ব্যবহারকারী যেমন একটি পাবলিক টার্মিনাল পরিষেবা পরিবেশের সদস্য হিসাবে থাকেন তবে আপনি ঠিক বলেছেন। তবে, বিষয়টি যদি কোনও পরিষেবা / এজেন্টের ব্যবহারকারীর ... দ্বিতীয় চিন্তায় হয় তবে এটি সত্যই স্টাইল সম্পর্কিত।
aesnak
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.