Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

मेमोरी कम होने पर ईमेल अलर्ट भेजने के लिए एक शेल स्क्रिप्ट

यूनिक्स/लिनक्स शेल प्रोग्राम का एक शक्तिशाली पहलू जैसे बैश , सामान्य प्रोग्रामिंग संरचनाओं के लिए उनका अद्भुत समर्थन है जो आपको निर्णय लेने, आदेशों को बार-बार निष्पादित करने, नए कार्य बनाने और बहुत कुछ करने में सक्षम बनाता है। आप शेल स्क्रिप्ट के रूप में जानी जाने वाली फ़ाइल में कमांड लिख सकते हैं और उन्हें सामूहिक रूप से निष्पादित कर सकते हैं।

यह आपको सिस्टम प्रशासन का एक विश्वसनीय और प्रभावी साधन प्रदान करता है। आप कार्यों को स्वचालित करने के लिए स्क्रिप्ट लिख सकते हैं, उदाहरण के लिए दैनिक बैकअप, सिस्टम अपडेट आदि; नए कस्टम कमांड/यूटिलिटीज/टूल्स और उससे आगे बनाएं। सर्वर पर जो कुछ भी हो रहा है, उसे बनाए रखने में आपकी मदद करने के लिए आप स्क्रिप्ट लिख सकते हैं।

सर्वर के महत्वपूर्ण घटकों में से एक मेमोरी है (RAM ), यह एक प्रणाली के समग्र प्रदर्शन पर बहुत प्रभाव डालता है।

इस लेख में, यदि सर्वर मेमोरी कम चल रही है, तो हम एक या अधिक सिस्टम व्यवस्थापकों को अलर्ट ईमेल भेजने के लिए एक छोटी लेकिन उपयोगी शेल स्क्रिप्ट साझा करेंगे।

यह स्क्रिप्ट विशेष रूप से Linux VPS . पर नज़र रखने के लिए उपयोगी है (वर्चुअल प्राइवेट सर्वर ) कम मात्रा में स्मृति के साथ, लगभग 1GB . के बारे में कहें (लगभग 990MB )

पर्यावरण सेटअप का परीक्षण

  1. एक CentOS/RHEL 7 mailx . के साथ उत्पादन सर्वर कार्यशील पोस्टफिक्स मेल सर्वर के साथ उपयोगिता स्थापित।

इस तरह alertmemory.sh स्क्रिप्ट काम करती है:पहले यह फ्री मेमोरी साइज की जांच करती है, फिर यह निर्धारित करती है कि फ्री मेमोरी की मात्रा एक निर्दिष्ट आकार से कम है या बराबर है (100) इस गाइड के उद्देश्य के लिए एमबी), कम से कम स्वीकार्य मुक्त स्मृति आकार के लिए एक बेंचमार्क के रूप में उपयोग किया जाता है।

यदि यह स्थिति सही है, तो यह सर्वर रैम की खपत करने वाली शीर्ष 10 प्रक्रियाओं की एक सूची तैयार करेगी और निर्दिष्ट ईमेल पते पर एक अलर्ट ईमेल भेजेगी।

नोट :आपको अपनी Linux वितरण आवश्यकताओं को पूरा करने के लिए स्क्रिप्ट में कुछ बदलाव करने होंगे (विशेषकर मेल प्रेषक उपयोगिता, उपयुक्त फ़्लैग का उपयोग करें)।

सर्वर मेमोरी की जांच करने के लिए शेल स्क्रिप्ट
#!/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 मिनट का एक छोटा अंतराल निर्दिष्ट करें।

फिर स्क्रिप्ट में दिए गए फ्री कमांड का उपयोग करके कमांड लाइन से चेक करते रहें। एक बार जब आप पुष्टि कर लें कि यह काम कर रहा है, तो उन वास्तविक मूल्यों को परिभाषित करें जिनका आप उपयोग करना चाहते हैं।

नीचे एक स्क्रीनशॉट है जो एक नमूना अलर्ट ईमेल दिखा रहा है।

मेमोरी कम होने पर ईमेल अलर्ट भेजने के लिए एक शेल स्क्रिप्ट

बस इतना ही! इस लेख में, हमने बताया कि सर्वर मेमोरी (रैम) कम होने की स्थिति में सिस्टम एडमिनिस्ट्रेटर को अलर्ट ईमेल भेजने के लिए शेल स्क्रिप्ट का उपयोग कैसे करें। आप इस विषय से संबंधित कोई भी विचार नीचे दिए गए फीडबैक फॉर्म के माध्यम से हमारे साथ साझा कर सकते हैं।


  1. Gmail में ईमेल कैसे भेजें

    क्या आप कभी किसी ऐसे ईमेल को अनसेंड करना चाहते हैं जिसे आपने अभी-अभी किसी को भेजा है? आउटलुक में एक विशेषता है जो आपको अपने ईमेल भेजने के बाद उन्हें वापस बुलाने की अनुमति देती है, लेकिन क्या होगा यदि आप जीमेल जैसे किसी अन्य ईमेल क्लाइंट का उपयोग करते हैं? जीमेल में, आपके द्वारा सेंड बटन को हिट करन

  1. Excel में स्थिति पूरी होने पर स्वचालित रूप से ईमेल कैसे भेजें

    स्वचालित रूप से ईमेल भेजना हमें उन संदेशों को डिज़ाइन करने की अनुमति देता है जो सभी के लिए एक आकार के होते हैं और उन्हें उपयोगकर्ताओं तक पहुँचाते हैं। स्वचालित ईमेल बनाकर और भेजकर, हम समय बचा सकते हैं। चूंकि यह आपको विशेष समय पर ईमेल भेजने में सक्षम बनाता है, संभावित उपभोक्ताओं के साथ जुड़ने के लिए

  1. अनाम रूप से ईमेल कैसे भेजें

    जबकि बाजार जीमेल, आउटलुक, याहू! मेल, जिसका स्वामित्व कुछ सबसे प्रतिष्ठित इंटरनेट कंपनियों के पास है। जब ऑनलाइन गोपनीयता की बात आती है तो कई उपयोगकर्ता अभी भी सुरक्षित महसूस नहीं करते हैं क्योंकि ये सभी प्लेटफ़ॉर्म उपयोगकर्ताओं की जासूसी करने और उनकी अन्य ऑनलाइन गतिविधियों को ट्रैक करने के लिए अपनी प