আপস্টার্ট: অ-স্টার্ট প্রক্রিয়া শেষে পরিষেবা শুরু করুন


11

উবুন্টু 10.04-এ, আমাকে আমার পরিষেবাটি আপস্টার্ট দিয়ে শুরু করা দরকার, তবে কেবল যখন মাইএসকিএল চালু হয় এবং চলতে থাকে।

সমস্যাটি হ'ল মাইএসকিএল নিজেই আপস্টার্ট দ্বারা পরিচালিত হয় না, তাই আমি "স্টার্ট অন" বৈশিষ্ট্যটি ব্যবহার করতে পারি না।

আমি কি করতে পারি ?

উত্তর:


15

আপনার স্বল্প কিছু সু্যোগ আছে:

1) মাইএসকিএল আপস্টার্টকে জানিয়ে দিন যে এটি কোনও ইভেন্ট নির্গমন করেই শুরু হয়েছে

initctl emit mysql-started" অথবা অনুরুপ.

এটি initctlআমন্ত্রণটি যোগ করে পরিচালনা করা যেতে পারে /etc/init.d/mysql

2) সাধারণ এসআইএসভি রানলেভেলগুলি থেকে মাইএসকিএল অক্ষম করুন এবং একটি র‌্যাপার আপস্টার্ট জব তৈরি করুন যা এটি শুরু করে (এটি থামাতে পারে না - কেবল উদাহরণ):

cat >>/etc/init/mysql-sysv.conf<<EOT
  # wait for SysV job to finish
  start on stopped rc
  exec /etc/init.d/mysql start
EOT

তারপরে, আপনার কাজ করুন " start on started mysql-sysv"।

এখানে সমস্যাটি হ'ল যদি কেউ (বা কোনও সিস্টেমের সরঞ্জাম স্বয়ংক্রিয়ভাবে) /etc/rc?.dমূল /etc/init.d/mysqlপরিষেবা স্ক্রিপ্টে লিঙ্কগুলি পুনরায় যুক্ত করে তবে আপনি সমস্যার মধ্যে পড়ে যাবেন । এছাড়াও, আপনি দেখতে পাবেন যে মাইএসকিএল মূল পিড শুরু হওয়ার কিছুক্ষণ না হওয়া পর্যন্ত আসলে প্রস্তুত নয় ready ডাটাবেসগুলি সমস্যাযুক্ত কারণ তারা শুরু করার পরেও "অনলাইন" আসতে কিছুটা সময় নিতে পারে (রূপান্তর লগ পুনরায় খেলা ইত্যাদি)।

৩) একটি আপস্টার্ট জব ("ওয়েটার") তৈরি করুন যা "স্টার্ট অন স্টপড আরসি" করে না (যেমন সমস্ত এসআইএসভি কাজ শেষ হওয়ার দাবি করেছে তখন শুরু করুন) এবং তারপরে মাইএসকিএল প্রস্তুত হওয়ার জন্য অপেক্ষা করা পোলগুলি, তারপরে প্রস্থান করবে। আপনার কাজ "স্টপ ওয়েটার শুরু" করুন।

৪) মাইএসকিএলকে একটি আপস্টার্ট কাজের (সেরা বিকল্প) রূপান্তর করুন। এখানে একটি আপস্টার্ট মাইএসকিএল কনফিগারেশন জন্য একটি সূচনা পয়েন্ট আছে: https://github.com/devo-ps/init-scriptts/tree/master/mysql/ubuntu


1
আশেপাশে দেখার পরে, এই উত্তরটি আমার কাছে থাকা সমস্ত বিকল্পগুলির সমষ্টি। "আরম্ভ করা মাইএসকিএল" এবং মাইএসকিএল আসলে উপলভ্য সময়টির মধ্যে ফাঁকটি নির্দেশ করার জন্য আপনাকেও ধন্যবাদ জানাই। আসুন দেখে নেওয়া যাক # 4 ইতিমধ্যে কোথাও চেষ্টা করা হয়েছিল কিনা।
অবধি 'ভাঙা'

বিকল্প 3 এর জন্য "স্টার্ট অন ওয়েটার ওয়েটার" দরকার। থামেনি।
এলেয়ানড্রেড

বিকল্প 1 আমাদের মডেল ভাল ফিট! আমরা প্রথমে পাইথন স্ক্রিপ্টের মাধ্যমে একটি কনফিগার সার্ভার থেকে সমস্ত আপস্টার্ট স্ক্রিপ্টগুলি ডাউনলোড করি যা চলে os.system('/sbin/initctl emit consul-finished'), তারপরে অন্যান্য পরিষেবাগুলি শুরু করেstart on consul-finished
CMag

তার জন্য ধন্যবাদ, আমার বন্ধু! মূলত আমি initctl emit cloud-init-finishedএকটি সিস্টেভি সার্ভিস হুক আপ করতে সক্ষম হবেন - প্রতিস্থাপন শেষ
জোস আলবান

0

আমি সমস্ত আপ -স্টার্ট কাজ শেষ করার পরে আপনার আপস্টার্ট কাজ শুরু করার পরামর্শ দিচ্ছি :

start on started rc

/etc/init/rc.conf আপস স্টার্ট থেকে অসাধারণ কাজ শুরু করা জিনিস।

প্রপস: /server//a/533481


-1

কিভাবে ব্যবহার সম্পর্কে

pre-start exec /etc/init.d/mysql start

আপনার upstart কাজ ভিতরে!


... এটি যখন মাইএসকিএল শুরু হবে তখন যাদুকরভাবে আপস্টার্ট কাজ শুরু করবে না ।
এডাপ্টার

হ্যাঁ আপনি যা চেয়েছিলেন তা নয় !!! আপনি অন্য রাস্তা চেয়েছিলেন। কমপক্ষে এটি আমি বুঝতে পেরেছি
কাজী

আমার আপস্টার্ট কাজটি মাইএসকিএল পর্যবেক্ষণ করার কথা এবং এটি যদি নিচে থাকে তবে বিজ্ঞপ্তিগুলি প্রেরণ করার কথা। আমি পর্যবেক্ষণ কাজের মাধ্যমে মাইএসকিএল চালু করা কিছুটা অস্বস্তিকর অনুভব করছি
ফ্যালকান

আমি পুরোপুরি ভুল বলে মনে করি না। আমি এরকম কিছু করি: প্রি-স্টার্ট স্ক্রিপ্ট যদি! /etc/init.d/rabbitmq-server স্থিতি &> / দেব / নাল; তারপরে /etc/init.d/rabbitmq-server ফাই এন্ড স্ক্রিপ্ট শুরু করুন
ম্যাক্সডামো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.