bash এর মতো ইউনিক্স/লিনাক্স শেল প্রোগ্রামের একটি শক্তিশালী দিক হল সাধারণ প্রোগ্রামিং কনস্ট্রাক্টের জন্য তাদের চমৎকার সাপোর্ট যা আপনাকে সিদ্ধান্ত নেওয়া, কমান্ড বারবার এক্সিকিউট করা, নতুন ফাংশন তৈরি করা এবং আরও অনেক কিছু করতে সক্ষম করে। আপনি কমান্ডগুলো একটি ফাইলে লিখে শেল স্ক্রিপ্ট হিসেবে সংরক্ষণ করতে পারেন এবং সেগুলো একসাথে এক্সিকিউট করতে পারেন।
এটি সিস্টেম অ্যাডমিনিস্ট্রেশনের জন্য একটি নির্ভরযোগ্য এবং কার্যকর উপায় প্রদান করে। আপনি কাজগুলো অটোমেট করার জন্য স্ক্রিপ্ট লিখতে পারেন, উদাহরণস্বরূপ ডেইলি ব্যাকআপ, সিস্টেম আপডেট ইত্যাদি; নতুন কাস্টম কমান্ড/ইউটিলিটি/টুলস তৈরি করতে পারেন এবং আরও অনেক কিছু। আপনি স্ক্রিপ্ট লিখে একটি সার্ভারে কী ঘটছে তা ট্র্যাক রাখতে পারেন।
একটি সার্ভারের একটি ক্রিটিক্যাল কম্পোনেন্ট হল মেমরি (RAM), এটি সিস্টেমের সামগ্রিক পারফরম্যান্সে বড় প্রভাব ফেলে।
এই আর্টিকেলে, আমরা একটি ছোট কিন্তু উপকারী শেল স্ক্রিপ্ট শেয়ার করব যা একটি বা একাধিক সিস্টেম অ্যাডমিনিস্ট্রেটরকে অ্যালার্ট ইমেল পাঠাবে, যদি সার্ভার মেমরি কম পড়ে যায়।
এই স্ক্রিপ্টটি বিশেষভাবে Linux VPS (ভার্চুয়াল প্রাইভেট সার্ভার) যাদের মেমরি অল্প, মনে করুন প্রায় 1GB (প্রায় 990MB) তাদের জন্য নজর রাখতে খুব উপকারী।
টেস্টিং এনভায়রনমেন্ট সেটআপ
- একটি CentOS/RHEL 7 প্রোডাকশন সার্ভার যাতে mailx ইউটিলিটি ইনস্টলড থাকে এবং ওয়ার্কিং পোস্টফিক্স মেইল সার্ভার থাকে।
alertmemory.sh স্ক্রিপ্টটি কীভাবে কাজ করে: প্রথমে এটি ফ্রি মেমরি সাইজ চেক করে, তারপর নির্ধারণ করে যে ফ্রি মেমরির পরিমাণ একটি নির্দিষ্ট সাইজ (100 MB এই গাইডের উদ্দেশ্যে) থেকে কম বা সমান কিনা, যা কমপক্ষে গ্রহণযোগ্য ফ্রি মেমরি সাইজের বেঞ্চমার্ক হিসেবে ব্যবহৃত হয়।
যদি এই শর্তটি সত্য হয়, তবে এটি সার্ভার RAM কনসিউম করা টপ ১০ প্রসেসের একটি লিস্ট জেনারেট করবে এবং নির্দিষ্ট ইমেল адреসগুলিতে একটি অ্যালার্ট ইমেল পাঠাবে।
নোট: আপনাকে স্ক্রিপ্টে কিছু পরিবর্তন আনতে হবে (বিশেষ করে মেইল সেন্ডার ইউটিলিটি, উপযুক্ত ফ্ল্যাগ ব্যবহার করে) আপনার লিনাক্স ডিস্ট্রিবিউশনের প্রয়োজনীয়তা পূরণ করার জন্য।
সার্ভার মেমরি চেক করার শেল স্ক্রিপ্ট
#!/bin/bash ####################################################################################### #Script Name :alertmemory.sh #Description :সার্ভার মেমরি কম পড়লে অ্যালার্ট মেইল পাঠানো #Args : #Author :Aaron Kili Kisinga #Email :admin@wsxdn.com #License : GNU GPL-3 ####################################################################################### ## মেইল ভেরিয়েবল ডিক্লেয়ার ##ইমেল সাবজেক্ট subject="Server Memory Status Alert" ##সেন্ডিং মেইল from="admin@wsxdn.com" ## মেইল পাঠানো to="admin@wsxdn.com" ## কার্বন কপি পাঠানো also_to="admin@wsxdn.com" ## মেগাবাইটে (MB) টোটাল ফ্রি মেমরি সাইজ পান free=$(free -mt | grep Total | awk '{print $4}') ## চেক করুন ফ্রি মেমরি 100MB-এর চেয়ে কম বা সমান কিনা if [[ "$free" -le 100 ]]; then ## সিস্টেম মেমরি কনসিউম করা টপ প্রসেস পান এবং অস্থায়ী ফাইলে সংরক্ষণ করুন ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head >/tmp/top_proccesses_consuming_memory.txt file=/tmp/top_proccesses_consuming_memory.txt ## সিস্টেম মেমরি কম থাকলে ইমেল পাঠান echo -e "Warning, server memory is running low!\n\nFree memory: $free MB" | mailx -a "$file" -s "$subject" -r "$from" -c "$to" "$also_to" fi exit 0 আপনার স্ক্রিপ্ট /etc/scripts/alertmemory.sh তৈরি করার পর, এটি এক্সিকিউটেবল করুন এবং cron.hourly-এ সিমলিংক করুন।
# chmod +x /etc/scripts/alertmemory.sh # ln -s -t /etc/cron.hourly/alertmemory.sh /etc/scripts/alertmemory.sh
এর মানে হল উপরের স্ক্রিপ্টটি সার্ভার চলাকালীন প্রতি ১ ঘন্টা পরপর চলেगा।
টিপ: আপনি যাচাই করতে পারেন এটি ইনটেন্ডেডভাবে কাজ করছে কিনা, বেঞ্চমার্ক ভ্যালু একটু হাই সেট করে সহজে ইমেল ট্রিগার করাতে, এবং প্রায় ৫ মিনিটের ছোট ইন্টারভাল নির্দিষ্ট করে।
তারপর স্ক্রিপ্টে দেওয়া free কমান্ড ব্যবহার করে কমান্ড লাইন থেকে চেক करते रहুন। একবার নিশ্চিত হলে যে এটি কাজ করছে, আপনি যে একচুইল ভ্যালুগুলো ব্যবহার করতে চান সেগুলো ডিফাইন করুন।
নিচে একটি নমুনা অ্যালার্ট ইমেলের স্ক্রিনশট দেওয়া হল।
এই পর্যন্ত! এই আর্টিকেলে, আমরা ব্যাখ্যা করেছি কীভাবে শেল স্ক্রিপ্ট ব্যবহার করে সিস্টেম অ্যাডমিনিস্ট্রেটরদের অ্যালার্ট ইমেল পাঠানো যায় যদি সার্ভার মেমরি (RAM) কম পড়ে যায়। এই টপিক 관련된 যেকোনো চিন্তা আপনি আমাদের সাথে ফিডব্যাক ফর্মের মাধ্যমে শেয়ার করতে পারেন।