Script Shell biex Tibgħat Twissija bl-Email Meta l-Memorja Tibaxxa
Aspett qawwi tal-programmi shell Unix/Linux bħal bash, huwa l-appoġġ aqwa tagħhom għal kostruzzjonijiet ta 'programmazzjoni komuni li jgħinuk tieħu deċiżjonijiet, tesegwixxi kmandi ripetutament, toħloq funzjonijiet ġodda, u ħafna aktar. Tista 'tikteb kmandi f'fajl magħruf bħala script shell u tesegwixxihom kollettivament.
Dan joffrilek mezz affidabbli u effettiv ta' amministrazzjoni tas-sistema. Tista' tikteb skripts biex tawtomatizza l-kompiti, pereżempju back-ups ta' kuljum, aġġornamenti tas-sistema eċċ; toħloq kmandi/utilitajiet/għodod ġodda tad-dwana u lil hinn. Tista 'tikteb skripts biex jgħinek tlaħħaq ma' dak li qed iseħħ fuq server.
Wieħed mill-komponenti kritiċi ta 'server huwa l-memorja (RAM), għandu impatt kbir fuq il-prestazzjoni ġenerali ta' sistema.
F'dan l-artikolu, se naqsmu script shell żgħir iżda utli biex nibagħtu email ta' twissija lil amministratur(i) tas-sistema wieħed jew aktar, jekk il-memorja tas-server tkun qed tonqos.
Din l-iskrittura hija partikolarment utli biex iżżomm għajnejk fuq Linux VPS (Servers Privati Virtwali) b'ammont żgħir ta 'memorja, ngħidu aħna ta' madwar 1GB (madwar 990MB).
- Server ta' produzzjoni CentOS/RHEL 7 b'utilità mailx installata b'server tal-posta postfix li jaħdem.
Dan huwa kif jaħdem l-iskrittura alertmemory.sh: l-ewwel jiċċekkja d-daqs tal-memorja ħielsa, imbagħad tiddetermina jekk l-ammont ta’ memorja ħielsa huwiex inqas jew ugwali għal daqs speċifikat (100 MB għall-iskop ta’ din il-gwida), użat bħala marka ta’ referenza għal l-inqas daqs aċċettabbli tal-memorja ħielsa.
Jekk din il-kundizzjoni hija vera, se tiġġenera lista tal-aqwa 10 proċessi li jikkunsmaw is-server RAM u tibgħat email ta 'twissija lil indirizzi elettroniċi speċifikati.
Nota: Int ser ikollok tagħmel ftit bidliet fl-iskrittura (speċjalment l-utilità tal-mittent tal-posta, uża l-bnadar xierqa) biex tissodisfa r-rekwiżiti tad-distribuzzjonijiet Linux tiegħek.
#!/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
Wara li toħloq l-iskript tiegħek /etc/scripts/alertmemory.sh, għamilha eżekutibbli u symlink għal cron.hourly.
# chmod +x /etc/scripts/alertmemory.sh # ln -s -t /etc/cron.hourly/alertmemory.sh /etc/scripts/alertmemory.sh
Dan ifisser li l-iskript ta 'hawn fuq se jitħaddem wara kull siegħa sakemm is-server ikun qed jaħdem.
Tip: Tista 'tittestja jekk tkunx qed taħdem kif maħsub, issettja l-valur tal-marka ta' riferiment ftit għoli biex tiskatta faċilment email li tintbagħat, u speċifika intervall żgħir ta 'madwar 5 minuti.
Imbagħad kompli iċċekkja mil-linja tal-kmand billi tuża l-kmand b'xejn ipprovdut fl-iskrittura. Ladarba tikkonferma li qed taħdem, iddefinixxi l-valuri attwali li tixtieq tuża.
Hawn taħt hawn screenshot li turi kampjun ta' email ta' twissija.
Dak kollox! F'dan l-artikolu, spjegajna kif tuża script shell biex tibgħat emails ta 'twissija lill-amministraturi tas-sistema f'każ li l-memorja tas-server (RAM) tkun qed taħdem baxxa. Tista' taqsam kwalunkwe ħsibijiet relatati ma' dan is-suġġett, magħna permezz tal-formola ta' feedback hawn taħt.