1. 程式人生 > >(轉)開發監控Linux 內存 Shell 腳本

(轉)開發監控Linux 內存 Shell 腳本

amp 分析 分鐘 target line net ocl 發送郵件 使用情況

原文:http://blog.csdn.net/timchen525/article/details/76474017

題場景:

開發Shell 腳本判斷系統剩余內存的大小,如果低於100MB,就郵件報警給系統管理員,並且將腳本加入系統定時任務,即每3分鐘執行一次檢查。

分兩步:

第一步:編寫腳本

腳本memory_mon.sh如下:

[plain] view plain copy
  1. #!/bin/bash
  2. FreeMem=`free -m|awk ‘NR==3 {print $NF}‘` #獲取系統當前的內存值,賦給變量FreeMem
  3. CHARS="Current memory is$FreeMem." #定義字符串CHARS變量,作為輸出及供郵件正文使用
  4. if [ $FreeMem -lt 100 ]
  5. then
  6. echo $CHARS|tee /tmp/messages.txt #屏幕輸出提示,並寫入文件
  7. mail -s "`date +%F-%T`$CHARS"[email protected]</tmp/messages.txt
  8. fi

分析:

free -m是顯示用兆作單位,NR==3表示第三行,$NF表示最後一列。具體free的各個參數的具體含義參考我的博文:Linux free命令分析內存使用情況

tee是既將echo $CHARS在標準輸出設備輸出,並將結果輸出到文件中。

mail-s的用法參考我的博文:Linux對外發送郵件功能。

第二步:定時任務crontab

[plain] view plain copy
  1. */3 * * * * /bin/sh /root/memory_mon.sh&>/dev/null

(轉)開發監控Linux 內存 Shell 腳本