সিস্টেম ক্রোনজবস কোথায় রাখবেন?


11

যদি আমার ক্রোনজব দরকার হয় যা সিস্টেম স্তরে চলে (যেমন একটি নির্দিষ্ট ব্যবহারকারীর জন্য নির্দিষ্ট নয়) আপনি কীভাবে আমাকে এটি তৈরির পরামর্শ দিচ্ছেন?

  1. crontab -eরুট হিসাবে চলমান
  2. এটি সংযোজন /etc/crontab
  3. ক্রোনজব সংজ্ঞায়িত করে একটি ফাইল তৈরি করা /etc/cron.d/
  4. ক্রোনজব সংজ্ঞায়িত করে একটি ফাইল তৈরি করা /etc/cron.*ly/(তবে কেবল এই সময়ের ব্যবধানটি আমার প্রয়োজনের সাথে খাপ খায় )

আমার বেশিরভাগ ক্ষেত্রেই উদ্বেগ হ'ল: এর সমাধানগুলির মধ্যে কোনটি সম্ভবত কোনও সিস্টেম আপডেট দ্বারা ওভাররাইট করা হবে ?

অ্যাডেজালি আমি অনুমান করি যে কাজটি দীর্ঘ হলে আমার এটি আলাদা স্ক্রিপ্ট ফাইলের মধ্যে রাখা উচিত , উদাহরণস্বরূপ /root/bin/। তুমি কি একমত?


3
আপনি কি ইউনিক্স বা লিনাক্স বিতরণ ব্যবহার করবেন তা উল্লেখ করা উচিত।
jlliagre

আমি এখনই শিখছি :) আমি ভেবেছিলাম এটি একটি বিতর্কিত-স্বতন্ত্র আচরণ ছিল ...
ব্লু

উত্তর:


13

ব্যবহার করবেন না crontab -e

আমি এটিকে crontab -eমূল হিসাবে রাখব না । এটি অন্যান্য প্রশাসকদের কাছে সাধারণত কম স্পষ্ট হয় এবং সময়ের সাথে সাথে এটি হারিয়ে যাওয়ার সম্ভাবনাও থাকে। এগুলিতে রাখলে /etc/crontabআপনি যে সময়টি চালাতে চান ঠিক সেই সময়টি নির্দিষ্ট করতে পারেন এবং আপনি একটি পৃথক ব্যবহারকারীকেও নির্দিষ্ট করতে পারেন।

বিকল্প অবস্থান

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

উদাহরণস্বরূপ রেডহাট ভিত্তিক ডিস্ট্রোসের অধীনে:

$ ls -dl /etc/cron*
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.d
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.daily
-rw-------. 1 root root    0 Nov 23 07:42 /etc/cron.deny
drwxr-xr-x. 2 root root 4096 Nov 29 11:03 /etc/cron.hourly
drwxr-xr-x. 2 root root 4096 Nov 29 11:06 /etc/cron.monthly
-rw-r--r--. 1 root root  457 Sep 26  2011 /etc/crontab
drwxr-xr-x. 2 root root 4096 Sep 26  2011 /etc/cron.weekly

আমি প্রায়শই সিস্টেম লেভেল ক্রোনগুলিকে প্রায়শই নির্দিষ্ট সময়ের /etc/cron.dপরিবর্তে চালাতে চাই /etc/crontab, বিশেষত যদি তারা আরও জটিল স্ক্রিপ্ট হয় put

আমি এর অধীনে ডিরেক্টরিগুলি ব্যবহার করতে পছন্দ করি /etc/cron*কারণ তারা আরও অনেক স্পষ্ট জায়গা যেটি অন্যান্য সিস্টেম প্রশাসকরা দেখতে শিখবেন এবং এখানকার ফাইলগুলি প্যাকেজ ইনস্টলেশন rpmএবং / অথবা এর মাধ্যমে পরিচালিত হতে পারে apt

এন্ট্রি রক্ষা করা

আমি উল্লিখিত ডিরেক্টরিগুলির মধ্যে যে কোনওটি স্ক্রিপ্টগুলি রাখার জন্য মনোনীত করা হয়েছে যা কোনও প্যাকেজ ম্যানেজার দ্বারা ধ্বংস হবে না। যদি আপনি কোনও ক্রন্টব এন্ট্রি সুরক্ষিত করার বিষয়ে উদ্বিগ্ন হন তবে আমি অবশ্যই এটি /etc/crontabফাইলটিতে রাখব না এবং এর পরিবর্তে এটি /etc/cron*ডিরেক্টরিগুলির একটিতে যথাযথ স্ক্রিপ্ট হিসাবে রেখে দেব ।


1

আমি # 4 বেছে নেব। এটি কখন কাজটি চালাবেন তা সিস্টেম সেটিংসকে চয়ন করতে দেয় এবং সাধারণত তারা "ব্যস্ত থাকাকালীন রান" করার একটি ভাল কাজ করেন। সিস্টেম ক্রোন শিডিয়ুলার পরিবর্তন করা স্ক্রিপ্টের রান সময়কে স্বয়ংক্রিয়ভাবে প্রভাবিত করবে।

নীচের দিকটি হ'ল এটি যখন চলে তখন আপনার কোনও সরাসরি নিয়ন্ত্রণ থাকে না। আপনার যদি আরও সরাসরি নিয়ন্ত্রণের প্রয়োজন হয় তবে # 1 ব্যবহার করুন।

1 সিস্টেমের আপডেট দ্বারা ওভাররাইট হওয়া সম্ভবত। যদিও 3 এবং 4 বেশ নিরাপদ হওয়া উচিত। এটি সমস্ত কিছুর উপর নির্ভর করে আপনি কীভাবে আপডেট করবেন। আপনার ডিসট্রো এটি চাইলে আপডেট করতে পারে তবে কেবল 2 টিই সাধারণত একটি ওভাররাইটের ঝুঁকিতে থাকবে।

অবশেষে, আমি / usr / স্থানীয় / বিনে স্ক্রিপ্টগুলি রাখব That's এটিই "সাধারণ" জায়গা যা আমি সিস্টেম ওয়াইড জিনিসগুলি ডিস্ট্রোর প্যাকেজ ম্যানেজার দ্বারা পরিচালিত না করে রাখি। / রুট / বিনটি গ্রহণযোগ্য হবে যদি এটি কেবল রুট দ্বারা চালিত হয়। তবে এটি সব বেশিরভাগ স্বাদ।


0

উপরের যে কোনওটি কাজ করবে এবং উপরের কোনওটি আপডেটের মাধ্যমে ওভাররাইট করা উচিত নয়। আসল পছন্দটি মতামতটিতে আসে - যে কোনও তিনটি পৃথক লোকের প্রায়শই কমপক্ষে দু'জন থাকতে পারে তবে তিনটি ভিন্ন উত্তর।

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