Init.d থেকে শুরু করে আপস্টার্ট পর্যন্ত কোনও সেতু আছে?


11

আমি /etc/init.d এ ব্যবহারের জন্য একটি পুরোপুরি ভাল স্ক্রিপ্ট পেয়েছি। আসলে, আমার অনেকগুলি রয়েছে, সমস্তই তনুকি জাভা সার্ভিস র‍্যাপার দিয়ে তৈরি।

এটি আমার কাছে মনে হবে এমন একটি শেল স্ক্রিপ্ট আপস্টার্ট স্ক্রিপ্ট হিসাবে মোড়ানোর জন্য কোনও সাধারণ টেম্পলেট থাকতে পারে তবে কিছুটা গুগলিং এটি প্রকাশ করছে না।

আমি কিছু অনুপস্থিত করছি?

উত্তর:


9

আমি এর জন্য কোনও টেম্পলেট দেখে মনে করি না। এটি কিছুটা ব্যঙ্গাত্মক, তবে, প্রযুক্তিগতভাবে, এটির প্রথম দিক থেকে আপনার init.d স্ক্রিপ্টটি শুরু করছে এটি পশ্চাদপটে সামঞ্জস্যতা কাজের আরসি এবং আরসিএসকে ধন্যবাদ।

আপস্টার্ট জব হিসাবে আপনার যা কিছু আছে আমি পুনরায় লেখার বিষয়টি বিবেচনা করব, তবে আমি জানি যে কিছু স্ক্রিপ্ট রূপান্তর করা কঠিন, তাই আমার কিছু স্ক্রিপ্টে আমি কিছু সময়ের জন্য যা করেছি তা এখানে:

description "xyz"
author "xyz"
start on runlevel 5
stop on runlevel [!5]

pre-start script
    # do my work here to start the service
end script

post-stop script
    # do work here to stop the service
end script

এখন পরিষেবার প্রকৃতির উপর নির্ভর করে, এটি চালিয়ে যায় বা নিজেই কাঁটাচামচ করে, আপনাকে জোব ফাইল expect forkবা যুক্ত taskকরতে হবে।

চিন্তাভাবনাটি সম্পূর্ণ করার জন্য, সাধারণত, এটি যাইহোক একটি সম্পূর্ণ আপস্টার্ট কাজের ফাইল রয়েছে। প্রাক প্রারম্ভের সমস্ত কাজ শেষ হয়ে যায়, সমস্ত পরিষ্কার-পরিচ্ছন্নতা সম্পন্ন হয়, কেবলমাত্র পরিষেবাটি নিজেই থাকে যা সাধারণত যুক্ত হয়:

exec service_cmd

আপস্টার্টে, ডকুমেন্টেশনগুলি বলে যে রান স্তর 3,4 এবং 5 অব্যবহৃত। সুতরাং, আপনার কেবল রান লেভেল ২ ব্যবহার করা উচিত
জাজোফান

এটি একটি সময় হয়ে গেছে, তবে আমি নিশ্চিত যে জিইউআই শুরু হওয়ার সাথে সাথে 5 টি সিস্টেম আপ হয়, কমপক্ষে এটি আগেও ব্যবহৃত হত।
জোসেফ রজারস

6

সুতরাং আপস্টার্ট কাজের একটি পয়েন্ট লিখতে সহজ হতে হবে।

Init.d স্ক্রিপ্টগুলিতে অনেকগুলি শেল স্ক্রিপ্ট যাদু রয়েছে যা বারবার আসে। কেস স্টেটমেন্টস, পিডফাইল ট্র্যাকিং, এলএসবি কমেন্ট লাইন। এটি কীভাবে একটি ভাল init.d স্ক্রিপ্ট না পড়ে লিখতে হয় তা খুব স্পষ্ট নয়।

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

তবে সত্যই, আপস্টার্ট জিনিসগুলিকে সত্যই সহজ করে তোলে। আপনি যখনই ট্যাম্পিডার, উলিমিট বা রানটাইম আর্গুমেন্টের মতো জিনিসগুলি সেট আপ না করেন তবে আপনার প্রি-স্টার্টের প্রয়োজন হবে না। কোনও পরিষেবার পরে আপনি পরিশ্রমের বিষয়টি নিশ্চিত করতে না চাইলে আপনার পোস্ট-স্টপের প্রয়োজন হবে না (পরিষেবাটি স্বাভাবিকভাবে বাইরে বেরোনোর ​​পরে নিজেই পরিষ্কার করা উচিত)।

প্রায়শই অনেকগুলি বিকল্প সহ একটি দৈত্য init.d স্ক্রিপ্ট 10 - 15 লাইন আপস্টার্ট কাজ পর্যন্ত ফোটে। সবচেয়ে জটিল init.d স্ক্রিপ্টগুলিতে তাদের বেশিরভাগ যুক্তি প্রাক-শুরুতে ফেলে দেওয়া যেতে পারে। মূল কীটি হ'ল প্রক্রিয়াটির জন্য পরিবেশ স্থাপনের জন্য কোডটির সামান্য স্নিপেট, এবং স্টার্ট / স্টপ / রেসপন / ইত্যাদি পরিচালনা করার পক্ষে যুক্তি নয়।

সবচেয়ে শক্তিশালী অংশ এবং একটি যে লোকেরা সবচেয়ে বেশিবার ভুল হয়, তা হল কখন তাদের কাজ শুরু করা / বন্ধ করতে হবে knowing start on runlevel [2345]যৌক্তিক বলে মনে হচ্ছে তবে এটিকে এড়িয়ে যায় যে নেটওয়ার্কটি সেই সময়ে সমান্তরালভাবে আসবে, যেমন স্থানীয় ফাইল সিস্টেম মাউন্টগুলি। মূলটি হ'ল চালানোর জন্য আপনার প্রয়োজনীয় ন্যূনতম জিনিসগুলি (অন্যান্য পরিষেবা, ফাইল সিস্টেম, নেটওয়ার্ক, ইত্যাদি) ঠিক খুঁজে বের করার চেষ্টা করা এবং সেগুলি শেষ হয়ে গেলে শুরু করা। বেশিরভাগ traditionalতিহ্যবাহী নেটওয়ার্ক পরিষেবাদি করা উচিত start on (local-filesystems and net-device-up IFACE!=lo)


3

আমি ভেবেছিলাম যে আপস্টার্টটি এসআইএসভি-স্টাইল ইনি স্ক্রিপ্টগুলিতে পিছনে-সামঞ্জস্য বজায় রাখে /etc/init.d। আপনার খালি স্ক্রিপ্টগুলি অপরিবর্তিতভাবে ব্যবহার করতে সক্ষম হওয়া উচিত।


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

2
হ্যাক হিসাবে, আপনি নির্দিষ্ট রানলেভেলগুলি থেকে আপনার আরআর স্ক্রিপ্টগুলি সরিয়ে ফেলতে পারেন, এবং পরিবর্তে সঠিক ক্রমে একগুচ্ছ লাইনের যোগ /etc/init.d/myservice startকরতে পারেন /etc/rc.local। এটি নিশ্চিত করবে যে আপনার পরিষেবাগুলি শেষ পর্যন্ত শুরু হবে, আপস্টার্ট থ্রি স্ক্রিপ্টগুলির দ্বারা শুরু হওয়া সমস্ত পরিষেবা সহ services
রায়ান সি থম্পসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.