Ederede Shell iji zipu ọkwa email mgbe ebe nchekwa dị ala
Akụkụ siri ike nke mmemme Unix/Linux shei dị ka bash, bụ nkwado ha dị ịtụnanya maka nrụpụta mmemme na-enye gị ohere ịme mkpebi, mebie iwu ugboro ugboro, mepụta ọrụ ọhụrụ na ọtụtụ ndị ọzọ. Ị nwere ike dee iwu n'ime faịlụ a maara dị ka script shei wee gbuo ha ọnụ.
Nke a na-enye gị ụzọ a pụrụ ịdabere na ya na nke dị irè nke usoro nchịkwa. Ị nwere ike ide edemede iji megharịa ọrụ, dịka ọmụmaatụ ndabere kwa ụbọchị, mmelite sistemụ wdg; mepụta iwu omenala/akụrụngwa/ngwaọrụ ọhụrụ na gafere. Ị nwere ike ide edemede iji nyere gị aka ịnọgide na-enwe ihe na-emepe na sava.
Otu n'ime ihe dị mkpa nke ihe nkesa bụ ebe nchekwa (RAM), ọ na-emetụta oke arụmọrụ nke sistemụ.
N'ime edemede a, anyị ga-ekekọrịta obere edemede shea bara uru iji zipu ozi-e njikere na otu onye nchịkwa sistemụ ma ọ bụ karịa, ma ọ bụrụ na ebe nchekwa ihe nkesa na-agba ọsọ.
Nke a bụ script bara uru karịsịa maka ilekwasị anya na Linux VPS (Virtual Private Servers) na obere ebe nchekwa, kwuo banyere 1GB (ihe dị ka 990MB).
- Ihe nkesa mmepụta CentOS/RHEL 7 nwere ngwa mailx arụnyere na ihe nkesa ozi postfix na-arụ ọrụ.
Nke a bụ otú edemede alertmemory.sh si arụ ọrụ: nke mbụ ọ na-enyocha nha ebe nchekwa efu, wee chọpụta ma ọnụọgụ ebe nchekwa efu dị obere ma ọ bụ hà nhata nke akọwapụtara (100 MB maka ebumnuche nke ntuziaka a), jiri dị ka akara bench maka. nha ebe nchekwa efu kacha nta anabata.
Ọ bụrụ na ọnọdụ a bụ eziokwu, ọ ga-ewepụta ndepụta nke usoro 10 kachasị na-eri RAM nkesa wee ziga ozi njikere na adreesị ozi-e akọwapụtara.
Cheta na: Ị ga-eme mgbanwe ole na ole na edemede (karịsịa onye na-ezigara ozi, jiri ọkọlọtọ kwesịrị ekwesị) iji mezuo ihe nkesa Linux gị chọrọ.
#!/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
Mgbe ịmepụtara script gị /etc/scripts/alertmemory.sh, mee ka ọ bụrụ nke a na-arụ ọrụ na symlink na cron.hourly.
# chmod +x /etc/scripts/alertmemory.sh # ln -s -t /etc/cron.hourly/alertmemory.sh /etc/scripts/alertmemory.sh
Nke a pụtara na ederede dị n'elu ga-agba ọsọ mgbe awa 1 ọ bụla gachara ka ihe nkesa na-agba ọsọ.
NDỤMỌDỤ: Ị nwere ike nwalee ma ọ na-arụ ọrụ dị ka e zubere, tọọ uru akara bench ntakịrị elu ka ọ dị mfe ịkpalite ozi-e a ga-eziga, ma kọwaa obere oge nke ihe dịka nkeji ise.
Mgbe ahụ gaa n'ihu na-elele site na ahịrị iwu site na iji iwu efu enyere na edemede ahụ. Ozugbo ị kwadoro na ọ na-arụ ọrụ, kọwaa ụkpụrụ ndị ị ga-achọ iji.
N'okpuru ebe a bụ nseta ihuenyo na-egosi ozi-e njikere nlele.
Ọ gwụla! N'edemede a, anyị kọwara otu esi eji edemede shei ziga ozi-e njikere na ndị na-ahụ maka sistemụ ma ọ bụrụ na ebe nchekwa ihe nkesa (RAM) na-agba ọsọ. Ị nwere ike ịkọrọ anyị echiche ọ bụla gbasara isiokwu a, site na mpempe nzaghachi n'okpuru.