यूनिक्स/लिनक्स शेल प्रोग्राम का एक शक्तिशाली पहलू जैसे बैश , सामान्य प्रोग्रामिंग संरचनाओं के लिए उनका अद्भुत समर्थन है जो आपको निर्णय लेने, आदेशों को बार-बार निष्पादित करने, नए कार्य बनाने और बहुत कुछ करने में सक्षम बनाता है। आप शेल स्क्रिप्ट के रूप में जानी जाने वाली फ़ाइल में कमांड लिख सकते हैं और उन्हें सामूहिक रूप से निष्पादित कर सकते हैं।
यह आपको सिस्टम प्रशासन का एक विश्वसनीय और प्रभावी साधन प्रदान करता है। आप कार्यों को स्वचालित करने के लिए स्क्रिप्ट लिख सकते हैं, उदाहरण के लिए दैनिक बैकअप, सिस्टम अपडेट आदि; नए कस्टम कमांड/यूटिलिटीज/टूल्स और उससे आगे बनाएं। सर्वर पर जो कुछ भी हो रहा है, उसे बनाए रखने में आपकी मदद करने के लिए आप स्क्रिप्ट लिख सकते हैं।
सर्वर के महत्वपूर्ण घटकों में से एक मेमोरी है (RAM ), यह एक प्रणाली के समग्र प्रदर्शन पर बहुत प्रभाव डालता है।
इस लेख में, यदि सर्वर मेमोरी कम चल रही है, तो हम एक या अधिक सिस्टम व्यवस्थापकों को अलर्ट ईमेल भेजने के लिए एक छोटी लेकिन उपयोगी शेल स्क्रिप्ट साझा करेंगे।
यह स्क्रिप्ट विशेष रूप से Linux VPS . पर नज़र रखने के लिए उपयोगी है (वर्चुअल प्राइवेट सर्वर ) कम मात्रा में स्मृति के साथ, लगभग 1GB . के बारे में कहें (लगभग 990MB )
पर्यावरण सेटअप का परीक्षण
- एक 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 मिनट का एक छोटा अंतराल निर्दिष्ट करें।
फिर स्क्रिप्ट में दिए गए फ्री कमांड का उपयोग करके कमांड लाइन से चेक करते रहें। एक बार जब आप पुष्टि कर लें कि यह काम कर रहा है, तो उन वास्तविक मूल्यों को परिभाषित करें जिनका आप उपयोग करना चाहते हैं।
नीचे एक स्क्रीनशॉट है जो एक नमूना अलर्ट ईमेल दिखा रहा है।
बस इतना ही! इस लेख में, हमने बताया कि सर्वर मेमोरी (रैम) कम होने की स्थिति में सिस्टम एडमिनिस्ट्रेटर को अलर्ट ईमेल भेजने के लिए शेल स्क्रिप्ट का उपयोग कैसे करें। आप इस विषय से संबंधित कोई भी विचार नीचे दिए गए फीडबैक फॉर्म के माध्यम से हमारे साथ साझा कर सकते हैं।