ইসি 2 ইনস্ট্যান্স বুট হওয়ার পরে একটি বাশ স্ক্রিপ্ট চালান


19

আমার ইসি 2 উদাহরণে একটি স্ক্রিপ্ট রয়েছে যা দূর থেকে অন্য একটি দৃষ্টান্ত শুরু করে।

এই দৃষ্টান্তটি সম্পূর্ণরূপে লোড হয়ে গেলে (শেষ হওয়া বুটিং শেষ হয়ে যায়) আমি এটি স্বয়ংক্রিয়ভাবে ব্যাশ স্ক্রিপ্টটি চালানো চাই, এটি করার সর্বোত্তম উপায়টি কী হবে?

আমার পুরোপুরি শুরু করা দরকার, মূলত ব্যাশ স্ক্রিপ্টটি একটি চিত্র রূপান্তর স্ক্রিপ্ট চালায় (চিত্রম্যাগিক ব্যবহার করে "উইজেট" কমান্ড কয়েকবার কার্যকর করে)

বর্তমানে, লিপিটি এখানে অবস্থিত:

/home/root/beginProcess.sh

এবং আমি নিজেই এটি চালানো দ্বারা শুরু করতে পারেন

bash startProcess.sh

RHEL-6.2-স্টার্টার-EBS-মধ্যে i386

এছাড়াও এটির সাথে একটি ইবিএস ভলিউম সংযুক্ত রয়েছে, যদি এটি সাহায্য করে, ধন্যবাদ!

উত্তর:


26

আমি স্রেফ ব্যবহারকারী-ডেটা বিকল্পটি ব্যবহার করার পরামর্শ দেব ec2-run-instances। এটি আপনাকে ভিএমকে কোনও ধরণের স্ক্রিপ্ট দেয় যা প্রথম বুটে চালানো হবে। আপনি যদি উবুন্টু বা ডেবিয়ান ব্যবহার করছেন তবে আপনি ক্লাউড-ডিএম ব্যবহার করতে পারেন যা প্রক্রিয়াটিতে কিছু সুন্দর পোলিশ রাখে। ক্লাউড-আরআই ব্যবহার করে, [runcmd]বুটের পরে চালানোর জন্য নির্বিচার কমান্ড নির্দিষ্ট করতে আপনি কনফিগারেশন ফাইলের বিভাগটি ব্যবহার করতে পারেন ।

ব্যবহারকারী-ডেটা পৃষ্ঠার জন্য এসএফ ব্যবহারকারী এরিক হ্যামন্ডকে ধন্যবাদ জানাই । তার সাইটটি দেখুন - এটিতে এডাব্লুএসে প্রচুর তথ্য রয়েছে।

সম্পাদনা: পুনরায় পড়ার পরে, আপনি প্রাথমিক বুটে বা প্রতিটি বুটে কোনও কমান্ড চালাতে চেয়েছিলেন কিনা তা পরিষ্কার নয়। উপরের নির্দেশাবলী কেবলমাত্র প্রাথমিক বুটে প্রযোজ্য। আপনি যদি প্রতিটি বুটে একটি কমান্ড চালাতে চান, আপনার কাছে কয়েকটি বিকল্প রয়েছে - আপনি @rebootক্রোন নির্দেশের মাধ্যমে একটি কমান্ড চালাতে পারেন , অথবা বিকল্পভাবে আপনি স্ক্রিপ্টটি যুক্ত করতে পারেন /etc/rc.local, যা প্রতিবার সিস্টেম বুট হবে।


1
প্রতিক্রিয়াটির জন্য অসাধারণ ধন্যবাদ, স্পষ্ট করে বলতে চাই আমি এটি প্রতিবার সিস্টেম বুট চালাতে চেয়েছি, /etc/rc.localআশ্চর্যজনকভাবে কাজ করছি, চিয়ার্স
এসএসএইচ এই

9

যদি আপনি এমন একটি এএমআই ব্যবহার করে যা cloud-initপ্যাকেজটি ইনস্টল করা থাকে (যেমন অ্যামাজন লিনাক্স বা উবুন্টু) তবে আপনি কেবল ব্যাশ স্ক্রিপ্টটি (যা # দিয়ে শুরু হয়) ব্যবহারকারী-ডেটা-ফাইল হিসাবে পাস করতে পারতেন এবং এটি শেষের দিকে স্বয়ংক্রিয়ভাবে চলতে পারে বুট প্রক্রিয়া

উদাহরণস্বরূপ, এটি এতটা সহজ হতে পারে:

ec2-run-instances                             \
  --user-data-file /home/root/beginProcess.sh \
  --key $USER                                 \
  ami-XXXXXXXX

এখানে নিবন্ধটি যেখানে আমি ব্যবহারকারীর ডেটা স্ক্রিপ্ট ধারণাটি প্রবর্তন করেছি, এখন আমাজন লিনাক্স এবং উবুন্টুর মতো বড় ইসি 2 এএমআইতে উপলব্ধ: http://alestic.com/2009/06/ec2-user-data-scriptts

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

আমি বলছি না যে আপনার জন্য লিনাক্সের ডিস্ট্রোস স্যুইচ করা উচিত, তবে অ্যামাজন লিনাক্স আরএইচইএল-এর উপর ভিত্তি করে তৈরি হয়েছে, যাতে এটি আপনার পক্ষে কার্যকর হয়।

এখানে আমি নিবন্ধটি লিখেছি যা আপনার ব্যবহারকারী-ডেটা স্ক্রিপ্টটি প্রথমবারের মতো কাজ না করে আপনি ডিবাগ করতে সহায়তা করতে পারেন: http://alestic.com/2010/12/ec2-user-data-output


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