Up.art স্ক্রিপ্ট যা init.d স্ক্রিপ্টগুলির উপর নির্ভর করে?


8

আমার কাছে একটি কাস্টম নোডেজ অ্যাপ্লিকেশন শুরু করার জন্য একটি আপস্টার্ট স্ক্রিপ্ট রয়েছে। অ্যাপটি কাউচডিবি এবং ইলাস্টিক অনুসন্ধানের উপর নির্ভর করে। কাউচডিবি এবং ইলাস্টিক অনুসন্ধানগুলি শুরু করার / থামানোর জন্য init.d স্ক্রিপ্ট সরবরাহ করে। আমার আপস্টার্ট স্ক্রিপ্টটি বলা কি সম্ভব যে কাউচডিডিবি এবং ইলাস্টিকসার্ক নির্ভরতা? আমি এটি আমার আপস্টার্ট স্ক্রিপ্টে চেষ্টা করেছি তবে এটি কার্যকর বলে মনে হচ্ছে না:

শুরু করুন (পাল্টা কাউচডিবি শুরু করলেন এবং ইলাস্টিকের শুরু করলেন)

ধন্যবাদ!



আমি এটি চেষ্টা করেছিলাম: আরসি শুরু করা শুরু করুন RUNLEVEL = [2345] তবে এটি কোনও লাভ করে না। আমার অ্যাপ্লিকেশন শুরু হওয়ার সাথে স্থিতিস্থাপক অনুসন্ধান শুরু করা হয়নি। সুতরাং এটি দেখা যাচ্ছে যে আমার আপস্টার্ট স্ক্রিপ্টের জন্য এটি জানার কোনও উপায় নেই যে থ্রি স্ক্রিপ্টগুলির দ্বারা শুরু করা পরিষেবাগুলি ইতিমধ্যে শুরু হয়েছে?
ট্রয়

আমি জানি যে কেবলমাত্র কাজটিই হ'ল স্থিতিস্থাপক অনুসন্ধান এবং কাউচডিবি উভয়ের জন্য upstart স্ক্রিপ্ট তৈরি করা (বা অনুসন্ধান এবং ইনস্টল করা) যাতে আপনি "স্টার্ট অন" বিকল্পটি ব্যবহার করতে পারেন।
রিঞ্জউইন্ড

এই উত্তরটি সহায়ক কিনা দেখুন! আমি উভয়ের জন্য আপস্টার্ট স্ক্রিপ্টটি পেয়েছি: ডি আনটেষ্টেড কোড যাতে আপনার পরিস্থিতির জন্য এটির প্রয়োজন হয় might
রিঞ্জউইন্ড

উত্তর:


3

আমি জানি যে কেবলমাত্র কাজটি হ'ল স্থিতিস্থাপক অনুসন্ধান এবং কাউচডিবি উভয়ের জন্য আপস্টার্ট স্ক্রিপ্ট তৈরি করা (বা অনুসন্ধান এবং ইনস্টল করা) যাতে আপনি "স্টার্ট অন" বিকল্পটি ব্যবহার করতে পারেন।

কাউচডিবি-র জন্য আপস্টার্ট স্ক্রিপ্ট

# কাউচডিবি v1.2.0
#
# কাউচডিবি কাস্টম ইনস্টলেশন

বিবরণ "কাউচডিবি v1.2.0, স্থানীয়"
কনসোল আউটপুট

সমস্ত ফাইল সিস্টেম এবং নেটওয়ার্ক ইন্টারফেই উপলব্ধ হওয়ার পরে # শুরু করুন
চালু করুন (স্থানীয়-ফাইল সিস্টেমগুলি এবং নেট-ডিভাইস-আপ IFACE! = লো)
রানলেভলে থামুন [! 2345]

# কার্যনির্বাহী ডিরেক্টরি সেট করুন
env COUCHDB_WD = "/ পাথ / টু / বিল্ড-কাউচডিবি / বিল্ড / বিন"
COUCHDB_WD রফতানি করুন

# এরং এর জন্য প্রয়োজনীয়
env হোম = "/ হোম / ইউজার"
হোম রফতানি করুন

লিপি
  প্রথমে স্থানীয় কাউচডিবি'র কার্যকরী ডিরেক্টরিতে আঘাত করতে প্যাথ পরিবর্তন করুন
  পাথ = "$ COUCHDB_WD: $ পথ"
  # এক্সপোর্ট পাঠ # স্ক্রিপ্ট ব্লকের ভিতরে প্রয়োজন নেই not
  # লগার -t $ 0 "হোম = 'OME হোম'"
  # লগার -t $ 0 "पथ = '$ পথ'"
  # আউটপুট কাউচডিবি কাস্টম অবস্থানে লগ করে
  #exec >> / হোম / ইউজার / কাউচডিবি_লোকাল.লগ 2> & 1
  এক্সিকিউটিভ কাউচডিবি
শেষ স্ক্রিপ্ট

স্থিতিস্থাপক অনুসন্ধান জন্য আপস্টার্ট

# ইলাস্টিক অনুসন্ধান পরিষেবা

বিবরণ "ইলাস্টিক অনুসন্ধান"

চালু (নেট-ডিভাইস-আপ)
          এবং স্থানীয় ফাইল সিস্টেমগুলি
          এবং রানলেভেল [2345])

রানলেভলে থামুন [016]

রেসপনের সীমা 10 5

env ES_Home = / usr / share / elasticsearch / home
env ES_MIN_MEM = 256 মি
env ES_MAX_MEM = 2g
এনএভিভি ড্যামন = "$ {ইএসহোম} / বিন / ইলাস্টিক অনুসন্ধান"
env ডেটা_ডিআর = / ডেটা / ইলাস্টিকসেরাচ / ডেটা
env CONFIG_DIR = / ইত্যাদি / স্থিতিস্থাপক অনুসন্ধান

কনসোল আউটপুট

লিপি
  যদি [-f / etc / default / elasticsearch]; তারপর
    । জন্য / etc / ডিফল্ট / elasticsearch
  ফাই

  su -s / bin / dash -c "/ usr / bin / elasticsearch -f -Des.path.conf = $ CONFIG_DIR -Des.path.home = $ ES_HOME -Des.path.logs = O LOG_DIR -Des.path। ডেটা = ATA ডেটা_ডিআর -ডেস.পাথ.ওয়ার্ক = $ ওয়ার্ক_ডিআইআর "স্থিতিস্থাপক অনুসন্ধান
শেষ স্ক্রিপ্ট

আমি পরিবর্তে একটি init.d স্ক্রিপ্ট তৈরি শেষ করেছি। তারপরও আপনার সাহায্যের জন্য ধন্যবাদ।
ট্রয়

আমি মনে করি আপনি সঠিক বলেছেন ... সময়ের সীমাবদ্ধতার কারণে আমি এখনই ব্যান্ড-সহায়তা হিসাবে init.d স্ক্রিপ্টটি তৈরি করেছি।
ট্রয়

এটি খুব কার্যকর হবে তবে এটি একটি রিগ্রেশন;) যেহেতু 12.10 আপস্টার্টের পক্ষপাতী আমি আশা করি আপস্টার্টটি আরও ভাল বিকল্প হবে। তবে আপনি যদি এটির জন্য স্ক্রিপ্ট দিয়ে কাজ করতে
পারা

7

আমার একই প্রশ্ন ছিল এবং আমি একটি আলাদা উত্তরও পেয়েছি । এটি সম্পাদন করার জন্য লেখক 4 টি বিকল্পের তালিকাবদ্ধ করেছেন যার মধ্যে আমি প্রথমটি পছন্দ করি :

initclt emit myservice-startedআপনার নির্ভরশীল পরিষেবার শুরুতে সিগন্যাল করতে ব্যবহার করুন । সংযুক্ত উত্তরে, নির্ভরতা পরিষেবার init.dস্ক্রিপ্টের শেষে এই লাইনটি যুক্ত করার পরামর্শ দেওয়া হয়েছে , তবে আমি আলাদা পদ্ধতি পছন্দ করি। আমি একটি নতুন inid.dস্ক্রিপ্ট তৈরি করতে চাই myservice-startedযাতে কেবল একটি startবিভাগ থাকে। ফাইলের শিরোনামে উপযুক্ত মন্তব্য করার স্টাইল ব্যবহার করে, আমি ঘোষণা করি যে এটি $myserviceশুরু হওয়ার উপর নির্ভর করে । ইন startঅধ্যায়, আমি ভুঁইফোড় বলতে myserviceশুরু হচ্ছে। আপনি এটি দিয়ে ইনস্টল করতে পারেন update-rc.d

আমি এই সমাধানটি পছন্দ করি কারণ এটি অনুপ্রবেশকারী নয়; যদি কোনও আপডেট বিদ্যমান init.dস্ক্রিপ্টগুলির কোনও পরিবর্তন করে , এটি এই অতিরিক্ত স্ক্রিপ্টগুলিকে প্রভাবিত করবে না। তবে মনে রাখবেন যে, আপনার ভুঁইফোড় স্ক্রিপ্ট পরিবর্তন হয় প্রয়োজন।

এটি দেখতে এটির মতো দেখাবে:

#!/bin/sh -e

### BEGIN INIT INFO
# Provides:          myservice-started
# Required-Start:    $myservice
# Default-Start:     2 3 4 5
# Short-Description: send upstart signal after starting myservice
# Description:       myservice needs to run before some upstart services can run
### END INIT INFO

. /lib/lsb/init-functions

case "$1" in
    start)
        log_daemon_msg "Signaling myservice started..." "myservice-started"
        initctl emit myservice-started --no-wait
    ;;

    *)
        log_action_msg "Usage: /etc/init.d/myservice-started start"
        exit 1
    ;;
esac

exit 0

মাইসারওয়াইসের জন্য অপেক্ষা করা আপনার আপস্টার্ট স্ক্রিপ্টটি myservice-startedইভেন্টটি শুনতে পারে :

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