সুচিপত্র:
- ধাপ 1: Systemd দ্বারা প্রদত্ত পদ্ধতি ব্যবহার করা
- ধাপ ২: সার্ভিস চেকার স্ক্রিপ্ট কনফিগার এবং ব্যবহার করা
- ধাপ 3: চূড়ান্ত চিন্তা
ভিডিও: লিনাক্স সার্ভারের জন্য সার্ভিস মনিটর স্ক্রিপ্ট: 4 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
একটি স্থিতিশীল, সর্বদা চলমান সিস্টেম থাকা, এমনকি যদি আপনি লিনাক্স ব্যবহার করেন তবে এটি একটি কঠিন কাজ হতে পারে।
আধুনিক সফ্টওয়্যার প্যাকেজের জটিলতা এবং খারাপ কোডিংয়ের কারণে, অনিবার্যভাবে কিছু প্রক্রিয়া সময়ে সময়ে ক্র্যাশ হতে পারে। এটি একটি খারাপ জিনিস হতে পারে যদি আপনি একটি সার্ভার চালাচ্ছেন এবং কিছু লোক এই পরিষেবার উপর নির্ভর করে।
ধাপ 1: Systemd দ্বারা প্রদত্ত পদ্ধতি ব্যবহার করা
আপনি হয়তো ইতিমধ্যেই জানেন, অধিকাংশ আধুনিক লিনাক্স অপারেশন সিস্টেম systemd ব্যবহার করছে।
যদি আপনি systemd এর সাথে পরিচিত না হন, এটি উইকিপিডিয়া অনুসারে:
"… ইউনিক্স সিস্টেম ভি বা বার্কলে সফটওয়্যার ডিস্ট্রিবিউশন (বিএসডি) ইনিট সিস্টেমের পরিবর্তে ব্যবহারকারীর স্থান বুটস্ট্র্যাপ করতে এবং পরবর্তীকালে সমস্ত প্রক্রিয়া পরিচালনা করতে লিনাক্স বিতরণে ব্যবহৃত একটি init সিস্টেম। …"
অনেক লোক এখনও যুক্তি দিচ্ছে যে কেন এই পুরানো ইনিস্ট সিস্টেমকে এই জটিল প্রক্রিয়া ব্যবস্থাপনা ব্যবস্থার সাথে প্রতিস্থাপন করা প্রয়োজন ছিল, তবে নিম্নলিখিত লিঙ্কে কেউ একটি ভাল ব্যাখ্যা খুঁজে পেতে পারে:
www.tecmint.com/systemd-replaces-init-in-l…
সবচেয়ে গুরুত্বপূর্ণ উন্নতি হবে যে এটি init এর ক্রমবর্ধমান পদ্ধতির পরিবর্তে বুটের সময়ে সমান্তরাল এবং সমান্তরাল প্রক্রিয়াকরণের কারণে এটি init এর চেয়ে দ্রুত সিস্টেম আনতে সক্ষম
Systemd এর গভীরতায় না গিয়ে, systemd- এ একটি প্রক্রিয়া যুক্ত করার জন্য, আপনাকে অবশ্যই একটি পরিষেবা ফাইল তৈরি করতে হবে। এই ধরনের ফাইলের সিনট্যাক্স খুব সাধারণ থেকে একেবারে জটিল পর্যন্ত হতে পারে এবং আমরা বিস্তারিত বিবরণে যাব না। একটি মৌলিক.service ফাইল থাকার জন্য, এটি নিম্নলিখিত এন্ট্রিগুলি ব্যবহার করার জন্য যথেষ্ট:
বিবরণ usr/sbin/application stopRestart = সবসময় [Install] WantedBy = multi-user.target
এগুলিকে application.service ফাইলে/lib/systemd/system ফোল্ডারে রাখুন।
এই বিকল্পগুলির প্রতিটি কী করে তা নীচের লিঙ্কে ব্যাখ্যা করা হয়েছে:
access.redhat.com/documentation/en-US/Red_…
আপনার আবেদন শুরু করার জন্য, নিম্নলিখিত কমান্ডটি ইস্যু করুন:
sudo systemctl start application.service
দ্রষ্টব্য:.service এক্সটেনশন বাদ দেওয়া যেতে পারে।
আবেদন বন্ধ করতে:
sudo systemctl stop application.service
যদি কনফিগারেশন ফাইল পরিবর্তন করা হয় এবং আপনি সেটিংস পুনরায় লোড করতে চান:
sudo systemctl reload application.service
অ্যাপ্লিকেশনটি পুনরায় চালু করতে:
sudo systemctl restart application.service
বুট এ স্বয়ংক্রিয় শুরু সক্রিয় করতে:
sudo systemctl application.service সক্ষম করে
যদি এটি সক্ষম করা হয়, তাহলে systemd প্রসেস ম্যানেজার সিস্টেম ফাইল দ্বারা প্রদত্ত সেটিংসের উপর ভিত্তি করে অ্যাপ্লিকেশনটি শুরু করার চেষ্টা করবে।
এটি নিষ্ক্রিয় করতে, উপরের মতো একই কমান্ডটি ব্যবহার করুন, তবে 'অক্ষম' প্যারামিটার সহ।
যদি আপনি Restart = সর্বদা পরিষেবা ফাইলে রাখেন, তাহলে systemd প্রক্রিয়াটি পর্যবেক্ষণ করবে এবং যদি এটি প্রক্রিয়া তালিকায় না পাওয়া যায়, তাহলে এটি স্বয়ংক্রিয়ভাবে পুনরায় চালু করার চেষ্টা করবে।
যদি আপনি বসান
রিস্টার্ট সেক = 30
পুনartসূচনা নির্দেশের পরে, প্রক্রিয়াটি পুনরায় চালু করার চেষ্টা করার আগে এটি 30 সেকেন্ডের জন্য অপেক্ষা করবে। এটি কার্যকর হতে পারে, কারণ একটি ব্যর্থ পরিষেবা/অ্যাপ্লিকেশনের ক্রমাগত পুনartসূচনা প্রচেষ্টা সিস্টেমে উচ্চ চাহিদা সৃষ্টি করতে পারে (লেখার ত্রুটি লগ ইত্যাদি)
আপনি দেখতে পাচ্ছেন, systemd ইতিমধ্যে প্রক্রিয়াগুলি পর্যবেক্ষণ করার জন্য কিছু উপায় সরবরাহ করে। যাইহোক, কিছু ক্ষেত্রে এটি যথেষ্ট নাও হতে পারে। যদি একটি প্রক্রিয়া প্রস্থান না করে (এটি এখনও প্রক্রিয়া তালিকায় থাকবে), কিন্তু এটি সাড়া দেওয়া বন্ধ করে দেয়। এই ক্ষেত্রে, একটি প্রক্রিয়া প্রকৃতপক্ষে চলছে এবং চলছে তা নিশ্চিত করার জন্য, আপনাকে অতিরিক্ত চেকগুলি সম্পাদন করতে হতে পারে।
এখানে এই নির্দেশযোগ্য স্ক্রিপ্টগুলি কাজে আসবে।
ধাপ ২: সার্ভিস চেকার স্ক্রিপ্ট কনফিগার এবং ব্যবহার করা
যদি আপনার চলমান প্রক্রিয়া/পরিষেবার আরো নিয়ন্ত্রণের প্রয়োজন হয়, তাহলে এই স্ক্রিপ্টগুলি সহায়ক হবে, নিশ্চিতভাবে।
যেহেতু কোডটি কিছুটা বড়, এটি গিথুব এ আপলোড করা হয়েছে এবং নিম্নলিখিত সংগ্রহস্থলের অধীনে পাওয়া যাবে:
github.com/trex2000/Service-Monitor-Scripts/blob/master/checkService.sh
পুরো প্যাকেজের 'হৃদয়' হল
checkService.sh
এটি ব্যবহার করার আগে, আপনাকে অবশ্যই পরিষেবা ফোল্ডারে সম্পূর্ণ পথটি প্রতিস্থাপন করতে হবে। এটি স্ক্রিপ্টের শুরুতে পাওয়া যাবে।
স্ক্রিপ্টটি বেশ কয়েকটি প্রক্রিয়া পর্যবেক্ষণ করতে পারে এবং অতিরিক্ত কাজ সম্পাদন করতে পারে, যেমনটি নীচে বর্ণিত হয়েছে:
এটি.serv বা.check এক্সটেনশানসমূহ /সার্ভিস সাবফোল্ডার থেকে প্রতিটি ফাইলের মধ্য দিয়ে যায় এবং 'অ্যাপ্লিকেশন' নামে একটি সক্রিয় প্রক্রিয়া আছে কিনা তা পরীক্ষা করবে।
যদি কোনও অ্যাপ্লিকেশনের জন্য '.check' ফাইল না থাকে, তবে শুধুমাত্র application.serv ফাইল:
যদি প্রক্রিয়াটি সক্রিয় থাকে, তাহলে এটি প্রক্রিয়াটিকে সক্রিয় হিসাবে বিবেচনা করবে।
যদি প্রক্রিয়াটি নিষ্ক্রিয় হয়, তাহলে এটি নিম্নলিখিত কমান্ডটি ইস্যু করে পরিষেবাটি পুনরায় চালু করবে:
systemctl রিস্টার্ট অ্যাপ্লিকেশন
যদি.serv ফাইলটি খালি থাকে!
যদি.serv ফাইলটি খালি না থাকে এবং এক্সিকিউটেবল অধিকার থাকে, তাহলে এটি একটি সাধারণ BASH স্ক্রিপ্ট হিসাবে চালানোর চেষ্টা করবে।
পরিষেবাটি পুনরায় চালু করার পাশাপাশি অতিরিক্ত কিছু করতে হলে এটি কার্যকর।
উদাহরণস্বরূপ, spamd.serv ফাইলে, উপরের রেপো থেকে, যদি স্প্যামড সার্ভিসটি মারা যায়, তাহলে স্প্যামাসাসিন পরিষেবাটি পুনরায় চালু করা প্রয়োজন, যা স্প্যামড পুনরায় চালু করবে। শুধু স্প্যামড পুনরায় চালু করা যথেষ্ট হবে না।
এই ধরনের সার্ভ ফাইলের বিষয়বস্তু প্রয়োজন অনুযায়ী সম্পাদনা করতে পারে।
আরেকটি উদাহরণ হল pcscd.serv ফাইল। এই ক্ষেত্রে অন্যান্য বেশ কয়েকটি প্রক্রিয়া পুনরায় চালু/হত্যা করা হয়েছিল।
যদি কোনও চেক ফাইল থাকে, প্রক্রিয়াটি চলছে কিনা তা যাচাই করার পরে, এটি অতিরিক্ত চেক করার জন্য এই স্ক্রিপ্ট ফাইলটিও চালাবে।
উদাহরণস্বরূপ, অস্কাম পরিষেবার জন্য, আমরা একটি চেক ফাইল তৈরি করেছি যা তার ওয়েব ইন্টারফেসের সাথে সংযোগ স্থাপনের চেষ্টা করে যাতে এটি সফল হয়। যদি তা না হয়, তবে প্রক্রিয়াটি সক্রিয় থাকা সত্ত্বেও পরিষেবাটি সাড়া দিচ্ছে না এবং পুনরায় চালু করা দরকার। পরিষেবাটি পুনরায় আরম্ভ করতে হবে।
আরেকটি উদাহরণ হবে মিডিয়াটম্ব ডিএলএনএ পরিষেবা।
এটি একটি ছোট সার্ভার যা DLNA ক্লায়েন্টদের ভিডিও/অডিও সামগ্রী প্রদান করে এবং নেটওয়ার্কে নিজেই সম্প্রচার করে। কখনও কখনও পরিষেবা স্থগিত থাকে এবং এটি আর আবিষ্কার করা যায় না, তবে প্রক্রিয়াটি এখনও সক্রিয় থাকবে। পরিষেবাটি আবিষ্কার-সক্ষম কিনা তা পরীক্ষা করার জন্য, gssdp-discover নামক CLI ইউটিলিটি ব্যবহার করা হয়েছিল। DLNA সার্ভার যাচাই করে পুরো কোডটি একটি mediatomb.check স্ক্রিপ্টের ভিতরে রাখা হয়েছিল।
এই কিভাবে আপনি.serv এবং.check ফাইল ব্যবহার করতে পারেন তার কয়েকটি উদাহরণ।
একটি নতুন পরিষেবা পর্যবেক্ষণ করার জন্য, আপনাকে অবশ্যই একটি
যদি শুধুমাত্র প্রক্রিয়ার উপস্থিতি পরীক্ষা করা হয় যথেষ্ট, তাহলে একটি খালি.serv ফাইল যথেষ্ট হবে। যদি অতিরিক্ত চেক করতে হয়, তাহলে একটি.check ফাইল তৈরি করতে হবে এবং কাজটি করার জন্য একটি ছোট স্ক্রিপ্ট লিখতে হবে।
অবশ্যই,.sh স্ক্রিপ্টটি পর্যায়ক্রমে চালাতে হবে, তাই এর জন্য একটি ক্রন কাজও তৈরি করতে হবে:
#প্রতি 5 মিনিটে চলমান পরিষেবাগুলি পরীক্ষা করুন */5 * * * * /var/bin/ServiceCheck/checkService.sh>/dev/null
ধাপ 3: চূড়ান্ত চিন্তা
আমি আশা করি আপনি এই প্যাকেজটি কাজে লাগাবেন কারণ এটি লিনাক্স প্রক্রিয়ার ব্যাপকভাবে নজরদারি করতে পারে এবং আশা করি আপনার পরিষেবার ডাউনটাইম কমিয়ে দেবে।
যদি আপনি নতুন তৈরি করেন, তাহলে গিথুব -এ অতিরিক্ত স্ক্রিপ্ট আপলোড করুন। শুধু আমাকে জানান এবং আমি আপনাকে অবদানকারী হিসাবে যোগ করব।
প্রস্তাবিত:
আপনার রাস্পবেরি পাই গেম সার্ভারের জন্য আয়ন কুলড সিস্টেম!: 9 টি ধাপ (ছবি সহ)
আপনার রাস্পবেরি পাই গেম সার্ভারের জন্য আয়ন কুলড সিস্টেম !: হাই মেকার্স! কিছুক্ষণ আগে আমি রাস্পবেরি পাই পেয়েছিলাম, কিন্তু আমি আসলেই জানতাম না এর সাথে কি করতে হবে। সম্প্রতি, মাইনক্রাফ্ট জনপ্রিয়তায় ফিরে এসেছে, তাই আমি আমার এবং আমার বন্ধুদের উপভোগ করার জন্য একটি মাইনক্রাফ্ট সার্ভার স্থাপন করার সিদ্ধান্ত নিয়েছি। ঠিক আছে, এটি কেবল আমিই হয়েছি:
একটি প্রক্সি সার্ভারের জন্য রাস্পবেরি পাই সেট আপ করা: 6 টি ধাপ
একটি প্রক্সি সার্ভারের জন্য রাস্পবেরি পাই সেট আপ করা: আপনি যদি আপনার রাস্পবেরি পাই একটি প্রক্সি সার্ভারের মাধ্যমে ইন্টারনেট অ্যাক্সেস করতে চান, তাহলে ইন্টারনেট অ্যাক্সেস করার আগে আপনাকে আপনার Pi কে সার্ভার ব্যবহার করার জন্য কনফিগার করতে হবে। দুটি পদ্ধতি আছে যার মাধ্যমে আপনি প্রক্সি সার্ভার সেটআপ করতে পারেন। কিন্তু, যদিও প্রথম ম
বারকোড ব্যবহার করে এক্সেল থেকে দোকান, গ্রোসরিজ এবং সার্ভিস সেন্টারের জন্য পিওএস সিস্টেম: 7 টি ধাপ
বারকোড ব্যবহার করে এক্সেল থেকে দোকান, মুদিখানা এবং পরিষেবা কেন্দ্রগুলির জন্য পিওএস সিস্টেম: ছোট দোকানের মুদিখানা এবং পরিষেবা কেন্দ্রগুলির জন্য কীভাবে একটি সহজ পিওএস (পয়েন্ট অফ সেলস) সিস্টেম তৈরি করা যায় সে সম্পর্কে আমি এই ব্লগটি আপনাদের সামনে তুলে ধরছি। এই পদ্ধতির সাহায্যে আপনি বিশেষ সফ্টওয়্যার বা ব্যয়বহুল সরঞ্জাম ছাড়াই নিম্নলিখিত সুবিধাগুলি পরিচালনা করতে পারেন। v ইস্যু
রাস্পবেরি পাই ওয়েব সার্ভারের জন্য আরোজ সিস্টেম: 5 টি ধাপ
রাস্পবেরি পাই ওয়েব সার্ভারের জন্য আরোজ সিস্টেম: আপনি কি কখনও আপনার বন্ধুদের সাথে সঙ্গীত বা ভিডিও শেয়ার করতে চান যখন ইন্টারনেট বা ধীরগতির অ্যাক্সেস নেই? আপনি ব্লুটুথ বা এনএফসি ব্যবহার করতে পারেন, কিন্তু এখানে আরেকটি সমাধান আসে, আরোজ অনলাইন, ভিডিওর জন্য ওয়েব প্ল্যাটফর্ম ব্যবহার এবং ইনস্টল করা সহজ একটি ওপেনসোর্স এবং
একটি পিক্যাক্স ভায়া শেল স্ক্রিপ্ট (লিনাক্স) প্রোগ্রামে সেট আপ করা: 5 টি ধাপ
একটি পিক্সে ভায়া শেল স্ক্রিপ্ট (লিনাক্স) প্রোগ্রাম করার জন্য সেট আপ করা: এর মাধ্যমে সহজ হাঁটা দেখায় যে কিভাবে একটি শেল স্ক্রিপ্ট তৈরি করা যায় যা একটি এফটিপি সাইট থেকে একটি প্রোগ্রাম লোড করে তারপর কম্পাইল করে তারপর পিক্যাক্সে ডাউনলোড করে। (এটি আমার প্রথম নির্দেশযোগ্য)