जब कोई भी सुरक्षा सेवा हमले को विफल करने में सक्षम नहीं थी या सर्वर किसी अन्य कारण से उच्च लोड के तहत काम करना शुरू कर देता था। हमारा सुझाव है कि स्क्रिप्ट इंस्टॉल करें और इसे क्रोंटैब सेवा के माध्यम से हर मिनट चलाएं। यह आपको गंभीर लोड के दौरान सर्वर तक पहुंच नहीं खोने देगा और इस स्थिति को खत्म करने के लिए उपाय करेगा।
/etc/cron.daily/load-average-2.sh
#!/bin/bash
loadavg=`uptime | awk '{print $10+0}'`
# bash doesn't understand floating point
# so convert the number to an interger
thisloadavg=`echo $loadavg|awk -F \. '{print $1}'`
if [ "$thisloadavg" -ge "2" ]; then
echo "Busy - Load Average $loadavg ($thisloadavg) "
echo 'Warning - Load AVG (my.server.tld) on:' `date` `uptime` | mailx -s "Warning: LA from `uptime | cut -d'(' -f2 | cut -d')' -f1`" -S smtp=smtp://mail.server.tld -S smtp-auth=login -S smtp-auth user=user@domain.tld -S smtp-auth-password=PassW0rd -S from="LLC COMPANY" to@domain.tld
else
echo "Okay - Load Average $loadavg ($thisloadavg) "
fi
इस स्क्रिप्ट को /etc/cron.daily load-average-2.sh फ़ाइल में सहेजा जाना चाहिए और निष्पादन अधिकार सेट करना चाहिए।
फिर आपको इसे हर 2 मिनट में चलाने के लिए crontab -e कमांड के माध्यम से एक लाइन जोड़नी होगी:
*/2 * * * * /etc/cron.daily/load-average-2.sh >> /dev/null 2>&1
मानों को आपके अपने मानों से बदला जाना चाहिए:
- my.server.tld - उस सर्वर का नाम जिस पर आप स्क्रिप्ट स्थापित कर रहे हैं।
- mail.server.tld - मेल सर्वर का डोमेन नाम जिसके माध्यम से स्क्रिप्ट आपको सूचनाएं भेजेगी।
- user@domain.tld - मेल सर्वर से कनेक्ट करने के लिए मेलबॉक्स नाम (लॉगिन)।
- PassW0rd - आपके मेल खाते के लिए पासवर्ड।
- LLC COMPANY - नाम और पता जिससे पत्र भेजा जाएगा।
- to@domain.tld - डाक पता जहां अधिसूचना भेजी जाएगी।
यदि लोड औसत 2 से अधिक है अर्थात 200% (2 कोर), स्क्रिप्ट एक अधिसूचना भेजेगी। यह पैरामीटर हाइलाइट किया गया है, आप सर्वर में मौजूद कोर की संख्या के आधार पर इसे अपने हिसाब से बदल सकते हैं। उदाहरण के लिए, यदि आपके पास 4 कोर हैं, तो अधिकतम भार 4 होगा, अर्थात। 400%.
यदि आवश्यक हो, तो आप स्क्रिप्ट में कमांड जोड़ सकते हैं जिन्हें निष्पादित करने की आवश्यकता है, उदाहरण के लिए, लोड को कम करने के लिए सेवाओं को पुनरारंभ करना। आपको उन्हें पहले जोड़ना होगा, उदाहरण के लिए:
service nginx restart
service ddos restart
service httpd restart