কম্পিউটার

মেমরি কম হলে ইমেল সতর্কতা পাঠানোর জন্য একটি শেল স্ক্রিপ্ট

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

এটি আপনাকে সিস্টেম প্রশাসনের একটি নির্ভরযোগ্য এবং কার্যকর উপায় সরবরাহ করে। আপনি স্বয়ংক্রিয় কাজ করার জন্য স্ক্রিপ্ট লিখতে পারেন, উদাহরণস্বরূপ দৈনিক ব্যাক আপ, সিস্টেম আপডেট ইত্যাদি; নতুন কাস্টম কমান্ড/ইউটিলিটি/টুল এবং এর বাইরে তৈরি করুন। সার্ভারে যা ঘটছে তা ধরে রাখতে সাহায্য করার জন্য আপনি স্ক্রিপ্ট লিখতে পারেন।

সার্ভারের অন্যতম গুরুত্বপূর্ণ উপাদান হল মেমরি (RAM ), এটি একটি সিস্টেমের সামগ্রিক কর্মক্ষমতাকে ব্যাপকভাবে প্রভাবিত করে।

এই নিবন্ধে, সার্ভার মেমরি কম চললে আমরা এক বা একাধিক সিস্টেম অ্যাডমিনিস্ট্রেটরকে একটি সতর্কতা ইমেল পাঠাতে একটি ছোট কিন্তু দরকারী শেল স্ক্রিপ্ট শেয়ার করব।

Linux VPS-এ নজর রাখার জন্য এই স্ক্রিপ্টটি বিশেষভাবে উপযোগী (ভার্চুয়াল প্রাইভেট সার্ভার ) অল্প পরিমাণ মেমরি সহ, প্রায় 1GB বলতে (প্রায় 990MB )

পরিবেশ সেটআপ পরীক্ষা করা

  1. A CentOS/RHEL 7 mailx সহ উৎপাদন সার্ভার কাজের পোস্টফিক্স মেল সার্ভারের সাথে ইউটিলিটি ইনস্টল করা হয়েছে।

এভাবেই alertmemory.sh স্ক্রিপ্ট কাজ করে:প্রথমে এটি বিনামূল্যে মেমরির আকার পরীক্ষা করে, তারপরে বিনামূল্যে মেমরির পরিমাণ একটি নির্দিষ্ট আকারের কম বা সমান কিনা তা নির্ধারণ করে (100 এই গাইডের উদ্দেশ্যে MB), সর্বনিম্ন গ্রহণযোগ্য ফ্রি মেমরি আকারের জন্য একটি বেঞ্চ মার্ক হিসাবে ব্যবহৃত হয়।

এই শর্তটি সত্য হলে, এটি সার্ভার র‌্যাম ব্যবহার করে শীর্ষ 10টি প্রক্রিয়ার একটি তালিকা তৈরি করবে এবং নির্দিষ্ট ইমেল ঠিকানাগুলিতে একটি সতর্কতা ইমেল পাঠাবে।

নোট৷ :আপনার লিনাক্স ডিস্ট্রিবিউশনের প্রয়োজনীয়তা পূরণ করতে আপনাকে স্ক্রিপ্টে কিছু পরিবর্তন করতে হবে (বিশেষ করে মেল প্রেরক ইউটিলিটি, উপযুক্ত পতাকা ব্যবহার করুন)।

সার্ভার মেমরি চেক করার জন্য শেল স্ক্রিপ্ট
#!/bin/bash 
#######################################################################################
#Script Name    :alertmemory.sh
#Description    :send alert mail when server memory is running low
#Args           :       
#Author         :Aaron Kili Kisinga
#Email          :[email protected]
#License       : GNU GPL-3	
#######################################################################################
## declare mail variables
##email subject 
subject="Server Memory Status Alert"
##sending mail as
from="[email protected]"
## sending mail to
to="[email protected]"
## send carbon copy to
also_to="[email protected]"

## get total free memory size in megabytes(MB) 
free=$(free -mt | grep Total | awk '{print $4}')

## check if free memory is less or equals to  100MB
if [[ "$free" -le 100  ]]; then
        ## get top processes consuming system memory and save to temporary file 
        ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head >/tmp/top_proccesses_consuming_memory.txt

        file=/tmp/top_proccesses_consuming_memory.txt
        ## send email if system memory is running low
        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

এর মানে হল যে যতক্ষণ সার্ভারটি চলছে ততক্ষণ উপরের স্ক্রিপ্টটি প্রতি 1 ঘন্টা পরে চালানো হবে৷

টিপ৷ :আপনি পরীক্ষা করতে পারেন যে এটি উদ্দেশ্য অনুযায়ী কাজ করছে কিনা, একটি ইমেল পাঠানোর জন্য সহজে ট্রিগার করার জন্য বেঞ্চ মার্ক মানটি একটু বেশি সেট করুন এবং প্রায় 5 মিনিটের একটি ছোট ব্যবধান নির্দিষ্ট করুন৷

তারপর স্ক্রিপ্টে প্রদত্ত ফ্রি কমান্ড ব্যবহার করে কমান্ড লাইন থেকে পরীক্ষা চালিয়ে যান। একবার আপনি নিশ্চিত করুন যে এটি কাজ করছে, আপনি যে প্রকৃত মানগুলি ব্যবহার করতে চান তা সংজ্ঞায়িত করুন৷

নীচে একটি নমুনা সতর্কতা ইমেল দেখানো একটি স্ক্রিনশট রয়েছে৷

মেমরি কম হলে ইমেল সতর্কতা পাঠানোর জন্য একটি শেল স্ক্রিপ্ট

এখানেই শেষ! এই নিবন্ধে, আমরা ব্যাখ্যা করেছি যে সার্ভার মেমরি (RAM) কম চললে সিস্টেম অ্যাডমিনিস্ট্রেটরদের সতর্কতা ইমেল পাঠাতে কীভাবে শেল স্ক্রিপ্ট ব্যবহার করতে হয়। আপনি নীচের প্রতিক্রিয়া ফর্মের মাধ্যমে আমাদের সাথে এই বিষয় সম্পর্কিত যে কোন চিন্তা শেয়ার করতে পারেন।


  1. Stargazing যখন এই সহায়ক ব্যাশ স্ক্রিপ্ট ব্যবহার করুন

  2. কীভাবে Gmail এ একটি ইমেল পাঠাবেন না

  3. এক্সেলে শর্ত পূরণ হলে কীভাবে স্বয়ংক্রিয়ভাবে ইমেল পাঠাবেন

  4. কিভাবে বেনামে ইমেল পাঠাবেন