একটি কাস্টম আপস্টার্ট পরিষেবা ইনস্টল করার সঠিক উপায়


51

আমি আমার সার্ভারগুলিতে পরিষেবাগুলির জন্য আপস্টার্ট ব্যবহার করছি। একটি কনফ ফাইল ফাইল লিখে এটিকে স্থাপন করা /etc/initযথেষ্ট সহজ, তবে এটি সম্পূর্ণরূপে ইনস্টল হবে বলে মনে হয় না। একটির জন্য, এটি service --status-allআমার নতুন পরিষেবাটির তালিকা করে না। আমি চেক এবং যদি আমি একটি লিঙ্ক তৈরি করতে /etc/init.dকরতে /lib/init/ubstart-jobএটা অবস্থা দেখা করব। তবে ম্যানুয়ালি এটি করার ফলে আমার মনে হয় যে আমি এটি সঠিকভাবে করছি না, এবং অন্যান্য কনফিগারেশন পদক্ষেপগুলিও থাকতে পারে যা সম্পন্ন হচ্ছে না।

একটি আপস্টার্ট পরিষেবা ইনস্টল করার সঠিক উপায় কী যে এটি পরিষেবাগুলির সাথে সম্পর্কিত সমস্ত সরঞ্জামগুলিতে সঠিকভাবে নিবন্ধিত আছে?


2
এই লোকটি আপস্টার্ট পরিষেবাটি ব্যবহার করে আমার একটি প্রশ্নের উত্তর দিয়েছিল এবং একটি বিশদ ব্যাখ্যা দিয়েছিল, এটি এমন একটি পদক্ষেপ নির্দেশ করতে পারে যা হয়তো মিস হয়ে গেছে জিজ্ঞাসাবাবু
মের বোরগ

1
মানে /lib/init/upstart-job?
aloreলোর

উত্তর:


46

আপনি যখন প্রাথমিকভাবে একটি নতুন কনফাইজ ফাইলটি / etc / init ফোল্ডারে অনুলিপি করেন তখন আপনাকে কল করতে হবে:

initctl reload-configuration

এটির মাধ্যমে আপনার আপস্টার্টটি সঠিকভাবে নিবন্ধিত হওয়া উচিত।


8
সুতরাং এটি কাজটি সঠিকভাবে সেট আপ করে (যেমন, startএবং stopকাজ) তবে এটি চাকরিটি সমস্ত স্থিতিতে প্রদর্শন করে না। এটি হওয়ার /etc/init.d/জন্য আমাকে এখনও এটি ম্যানুয়ালি যোগ করতে হয়েছিল।
জেমস ম্যাকমাহন

1
@ জেমসম্যাকমাহন আপনাকে initctl listsudo: দিয়ে কমান্ড চালানো দরকার sudo initctl list। এইভাবে আপনি পরিষেবার সম্পূর্ণ তালিকা দেখতে পাবেন।
শাহরিয়ার ইমানভ

Sudo কেন, এটি initctl তালিকার আউটপুটটি একেবারেই বদলে যায় না বলে মনে হয়।
ভালবাসা থা

@ জামেসম্যাকমাহন I still had to manually add it to /etc/init.d,। আপনি এখনও কি যোগ করতে হবে? এর অর্থ এই যে, X.confযুক্ত হওয়া ফাইলের পাশাপাশি /etc/initএটিতে একটি ফাইল যুক্ত করাও প্রয়োজনীয় /etc/init.d?
কেভিন মেরেডিথ

@ কেভিনমারডেথ, দুঃখিত আমি আরও বিস্তারিত ছিলাম না। এটি 2 বছর হয়েছে এবং আমি বিশেষগুলি মনে করতে পারি না। আপনি যদি কিছু init.d ডকুমেন্টেশন সন্ধান করেন তবে আশা করা যায় এটি পরিষ্কার হওয়া উচিত।
জেমস ম্যাকমাহন

18

পরিষেবা ম্যানুয়াল চেকআউট করুন:

পরিষেবা - স্ট্যাটাস-সমস্ত স্থিতি কমান্ড সহ বর্ণমালা অনুসারে সমস্ত init স্ক্রিপ্ট চালায় runs এই বিকল্পটি কেবল সিস্টেভিট কাজের জন্য স্থিতি কল করে, উপস্টার্ট জবগুলি অনুরূপ পদ্ধতিতে সূচনা তালিকা সহ অনুসন্ধান করা যেতে পারে।

(সামনে জোর দাও)

এ কারণেই এটিকে /etc/init.d (যেখানে স্যাসভিনিত কাজগুলি অবস্থিত) যুক্ত করে সেই কাজটি তৈরি করে। সুতরাং: পরিবর্তে initctl তালিকা চালানোর চেষ্টা করুন :)।


That's why adding it কি যুক্ত? my_service.confফাইলটি ছাড়াও /etc/init, এটিও একটি /etc/init.dফাইল থাকা দরকার?
কেভিন মেরেডিথ

উবুন্টু 16.04.4 সঙ্গে কাজ করছে না LTS \\ $ initctl তালিকা initctl: নাম "com.ubuntu.Upstart" বিদ্যমান নেই $ sudo initctl তালিকা initctl: আপস্টার্টের সাথে সংযোগ করতে অক্ষম: সকেট / কম / উবুন্টু / আপস্টার্টের সাথে সংযোগ করতে ব্যর্থ: সংযোগ প্রত্যাখ্যান করা হয়েছে
নাইন

13

এসআইএসভি পরিষেবাদির জন্য

উবুন্টুতে নতুন পরিষেবা যুক্ত / তৈরি করার সময় আপনি নীচের পদক্ষেপগুলি অনুসরণ করেছেন তা নিশ্চিত করুন।

  1. পরিষেবা ফাইলটি তৈরি করুন /etc/init.d/<service name>
  2. chmod 700 /etc/init.d/<service name>
  3. update-rc.d <service name> defaults
  4. update-rc.d <service name> enable

এখন আপনি পরিষেবা দেখুন

service --status-all

15
আপনার উত্তর sysv সম্পর্কিত এবং আপস্টার্ট না। আপনি এটি মুছতে ইচ্ছুক হতে পারে।
jcomeau_ictx

3
এটি সত্যিই একটি দরকারী সাড়া।
এটোরাস

এটি অন্য
সিরিয়াসের

1

আমি খুঁজে পেয়েছি যে .conf ফাইলে একটি ত্রুটি কাজটি আরম্ভ করার জন্য সনাক্তকরণযোগ্য নয়। উদাহরণস্বরূপ, setuidআপস্টার্ট সংস্করণ 1.3 বা তার আগের সংস্করণে একটি লাইন থাকা।


1

আপাতত নতুন সার্ভিস যুক্ত হওয়ার জন্য বর্তমানের নির্বাচিত উত্তরটি সঠিক হলেও, / etc / init / এ কোনও কনফিগার কেন লোড করতে ব্যর্থ হচ্ছে তা খুঁজে পাওয়ার জন্য বিশেষভাবে কার্যকর নয় - অনুপস্থিত টুকরাটি নিশ্চিত করার জন্য প্রথমে init-checkconf ব্যবহার করছে আপনার কনফিগারটি বৈধ, এবং তারপরে পুনরায় লোড-কনফিগারেশন ব্যবহার করুন:

####Test the new config - resolving any issues before continuing:
ERROR: File /etc/init/test.conf: syntax invalid:
test.conf:35: Unterminated quoted string

####then fix and recheck:
# init-checkconf /etc/init/test.conf
File /etc/init/test.conf: syntax ok

####then reload:
# initctl reload-configuration

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