Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

शेल स्क्रिप्ट: यूनिक्स/लिनक्स पर कम मेमोरी के लिए ईमेल अलर्ट

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

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

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

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

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

टेस्टिंग एनवायरनमेंट सेटअप

  1. एक CentOS/RHEL 7 प्रोडक्शन सर्वर जिसमें mailx यूटिलिटी इंस्टॉल है और वर्किंग पोस्टफिक्स मेल सर्वर है।

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

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

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

सर्वर मेमोरी जांचने के लिए शेल स्क्रिप्ट

#!/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 

इसका मतलब है कि उपरोक्त स्क्रिप्ट हर 1 घंटे के बाद तब तक चलेगी जब तक सर्वर चल रहा है।

टिप: आप जांच सकते हैं कि यह इरादे के अनुसार काम कर रहा है या नहीं, बेंचमार्क मान को थोड़ा ऊंचा सेट करके आसानी से ईमेल भेजने को ट्रिगर करें, और लगभग 5 मिनट का एक छोटा अंतराल निर्दिष्ट करें।

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

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

शेल स्क्रिप्ट: यूनिक्स/लिनक्स पर कम मेमोरी के लिए ईमेल अलर्ट

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


  1. Gmail में ईमेल अनसेंड करें: चरण-दर-चरण मार्गदर्शिका Gmail में ईमेल अनसेंड करें: चरण-दर-चरण मार्गदर्शिका

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

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

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

  1. गुमनाम ईमेल भेजें: अपनी गोपनीयता की रक्षा के लिए चरण-दर-चरण मार्गदर्शिका गुमनाम ईमेल भेजें: अपनी गोपनीयता की रक्षा के लिए चरण-दर-चरण मार्गदर्शिका

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