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


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

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

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

এই নিবন্ধে, সার্ভারের স্মৃতিশক্তি কম থাকলে, আমরা এক বা একাধিক সিস্টেম অ্যাডমিনিস্ট্রেটরদের একটি সতর্কতা ইমেল প্রেরণের জন্য একটি ছোট তবে দরকারী শেল স্ক্রিপ্টটি ভাগ করব।

লিনাক্স ভিপিএস (ভার্চুয়াল প্রাইভেট সার্ভারস) অল্প পরিমাণ মেমরির সাথে নজর রাখার জন্য এই স্ক্রিপ্টটি বিশেষভাবে কার্যকর, প্রায় 1 জিবি (প্রায় 990 এমবি) বলুন।

  1. ওয়ার্কিং পোস্টফিক্স মেল সার্ভারের সাথে মেলেক্স ইউটিলিটি সহ একটি সেন্টস/আরএইচএল 7 প্রোডাকশন সার্ভার

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

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

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

#!/bin/bash 
#######################################################################################
#Script Name    :alertmemory.sh
#Description    :send alert mail when server memory is running low
#Args           :       
#Author         :Aaron Kili Kisinga
#Email          :[email 
#License       : GNU GPL-3	
#######################################################################################
## declare mail variables
##email subject 
subject="Server Memory Status Alert"
##sending mail as
from="[email "
## sending mail to
to="[email "
## send carbon copy to
also_to="[email "

## 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/scriptts/alertmemory.sh তৈরি করার পরে, এটি সম্পাদনযোগ্য করুন এবং ক্রোন.আরলি সিলেমিং করুন।

# chmod +x /etc/scripts/alertmemory.sh
# ln -s -t /etc/cron.hourly/alertmemory.sh /etc/scripts/alertmemory.sh

এর অর্থ সার্ভার চলমান যতক্ষণ না উপরের স্ক্রিপ্টটি প্রতি 1 ঘন্টা পরে চলবে।

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

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

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

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