প্রতিলিঙ্কগুলি /etc/cron.d/ এ ব্যবহার করা যাবে?


25

আমি একটি কনফিগারেশন প্রক্রিয়া বাস্তবায়নের চেষ্টা করছি যা একটি নির্দিষ্ট প্রকল্পে এসএনএন-এর একটি ক্রোন কনফিগারেশন স্থাপন করতে দেয়।

আমি তাত্ক্ষণিকভাবে আপনাকে জানালাম যে আমার কী করা উচিত তা আমার প্রকল্পের ক্রোন ফাইলের /etc/cron.d/ থেকে (যা পরিবর্তে একটি ভিসি দ্বারা নিয়ন্ত্রিত হয়) সেরিট সিমলিংকগুলি হয় তবে এটি কার্যকর হয় না বলে মনে হয়।

আমি কিছু পুরানো ফোরাম বার্তা পেয়েছি যা উল্লেখ করে যে সিমলিঙ্কগুলি সমর্থিত ছিল না এবং অন্যরা বলছিল যে তারা। ইহা কোনটা?

এটি অর্জনের জন্য আরও কিছু বা অন্য কোনও ভাল উপায় আছে?

উত্তর:


27

অনুসারে man crond

আদেশ সহকারে

সমস্ত ক্রন্টব্যাব ফাইলগুলি নিয়মিত ফাইলগুলিতে নিয়মিত ফাইল বা সিমলিংক হতে হবে, এগুলি অবশ্যই মালিক ছাড়া অন্য কারও জন্য কার্যকর বা লেখার যোগ্য হবে না। Crond কমান্ড লাইনে -p বিকল্পটি ব্যবহার করে এটি আবশ্যক ‐ যদি ইনো টাইফ সমর্থনটি ব্যবহার করা হয়, সিমলিঙ্কযুক্ত ক্রন্টাবগুলিতে পরিবর্তনগুলি ক্রোন ডিমন দ্বারা স্বয়ংক্রিয়ভাবে লক্ষ্য করা যায় না। ক্রোনট্যাবগুলি পুনরায় লোড করার জন্য ক্রোন ডেমনকে অবশ্যই একটি SIGHUP সংকেত গ্রহণ করতে হবে। এটি ইনোটিফাই API এর একটি সীমাবদ্ধতা।

মেসির পরিবর্তে সিসলগ আউটপুট ব্যবহার করা হবে, যখন সেন্ডমেল ইনস্টল করা থাকে না।

এটি আমার বাইরে থাকা জীবিত ছদ্মবেশকেও বিরক্ত করেছিল, সংক্ষেপে হ্যাঁ আপনি সিমলিংকগুলি ব্যবহার করতে পারেন তবে তা না হলে regular files or symlinks to a regular fileএটি অবশ্যই -pস্যুইচ ব্যবহার করতে পারে।


1
আপনি এটিও দেখতে পাবেন যে ফাইলটি অবশ্যই ক্রোন দ্বারা কাজ করছে এমন ব্যবহারকারী ক্রনের মালিকানাধীন থাকতে হবে; উদাহরণস্বরূপ, যদি কোনও সিমলিংক /etc/cron.d/bobsjobব্যবহারকারী "বব" ক্রনের মালিকানাধীন কোনও ফাইলের দিকে নির্দেশ করে তবে সিসলগ বার্তাটি ব্যর্থ হয় WRONG FILE OWNER (/etc/cron.d/bobsjob)
ক্রেগ রিঞ্জার

@ ক্রেইগ্রিঞ্জার ক্রোন ফাইলটির মালিকানাধীন আমার "www-ডেটা" নামক একজন ব্যবহারকারী রয়েছেন, আমি বর্তমানে সিসলগে র্রং ফাইলের মালিক ত্রুটি পাচ্ছি। আমি কীভাবে ক্রোনকে "www-ডেটা" ব্যবহার করে ব্যবহার করতে পারি। আমি ফাইলটিকে রুট করতে চাই না।
সিএমসিডিগ্রাগনকাই

@ সিএমসিডিগ্রাগনকাই sudo -u www-data crontab -eএবং এটিকে www- ডেটা ব্যবহারকারীর ক্রন্টবায় যুক্ত করুন। এটি ব্যবহারকারী হিসাবে চালানো হবে www-data। সুস্পষ্ট ব্যবহারকারীর কলামটি সরিয়ে ফেলতে ভুলবেন না, কারণ এটি ব্যবহারকারী ক্রন্টাবগুলিতে বিদ্যমান নেই।
ক্রেগ রিঞ্জার

ফাইলটি ভিতরে রাখবে etc/cron.? আমি ছাপের অধীনে ছিল ক্রন্টাব সরঞ্জামটি অন্য কোথাও টাস্কটি রাখবে।
সিএমসিডিগ্রাগনকাই

@ সিএমসিডিগ্রাগনকাই আপনি সঠিক, crontab -eএই ক্ষেত্রে কলিং যা চান তা নয়। আমি খুঁজছি কিন্তু একটি ব্যবহারকারীকে কোনও অ-রুট ব্যবহারকারী হিসাবে ক্রন্টব চালানোর কোনও উপায় খুঁজে পাইনি।
ACK_stoverflow

14

এটিতে সুরক্ষা জড়িত রয়েছে। /Etc/cron.d/ এর স্ক্রিপ্টগুলি রুট সুবিধার সাথে রুট দ্বারা চালিত হয়। মূল-অ ব্যবহারকারীদের জন্য মালিকানাধীন এবং লিখিতযোগ্য স্ক্রিপ্টগুলিকে সেখানে সিমিলিং করা একটি খারাপ ধারণা, যেহেতু আপনার সিস্টেমটি সেভাবে আপস করা যেতে পারে since


4

আমি আপনার উবুন্টুর সংস্করণটির জন্য ক্রোন ম্যানপেজটি যাচাই করব (আমি ধরে নিই আমরা এই ফোরামে উবুন্টুর সাথে কথা বলছি!):

এই ডিরেক্টরিতে ফাইলগুলি রুটের মালিকানাধীন থাকতে হবে, এক্সিকিউটেবল হতে হবে না (সেগুলি কনফিগারেশন ফাইলগুলি যেমন / / etc / crontab এর মতো) এবং রান-পার্টস দ্বারা ব্যবহৃত নামকরণ কনভেনশনটি মেনে চলতে হবে (8): তাদের অবশ্যই কেবলমাত্র উপরের এবং নিম্ন-বর্ণের অক্ষর, সংখ্যা, আন্ডারস্কোর এবং হাইফেন নিয়ে গঠিত। এর অর্থ হ'ল এগুলিতে কোনও বিন্দু থাকতে পারে না।

যেমনটি ফ্লোরিয়ান উল্লেখ করেছে, এই ফাইলটি যদি অ-মূল ব্যবহারকারীদের দ্বারা লিখিত হয় তবে এটি একটি সুরক্ষা গর্ত কারণ কাজগুলি রুট দ্বারা পরিচালিত হবে (যার জন্য ফাইলটিতে কাজের মালিক হিসাবে নামকরণ করা হয়েছে)। এছাড়াও নোট করুন, সুতরাং, যে

এই ডিরেক্টরিতে / etc / crontab এ ব্যবহৃত ফর্ম্যাট অনুসরণ করে যে কোনও ফাইল সংজ্ঞায়িত ফাইল থাকতে পারে, যেমন ব্যবহারকারী ক্রোন স্পুলের বিপরীতে, এই ফাইলগুলি অবশ্যই টাস্ক সংজ্ঞা অনুসারে টাস্কটি চালানোর জন্য ব্যবহারকারীর নাম সরবরাহ করতে হবে।

অর্থাৎ কমান্ড চালানোর আগে ব্যবহারকারীর নামটি পপ করুন।


1
এর অর্থ হ'ল এগুলিতে কোনও বিন্দু থাকতে পারে না। এই মনোযোগ দিন। লিঙ্কটির নামটিতে আমার একটি বিন্দু ছিল। এটি আমার জন্য আমার চলমান চাকরির জন্য অপরাধী ছিল। প্লাস: ফাইলটি নিজেই একটি
সিআরএলএফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.