2009年2月12日 星期四

檢查磁碟空間

df -Plk|grep -v "Used Avail" | sed 's/\%//g' |awk '{if (($5>90)&&($4 < 10000000)) print "APS16 Disk Space: "$6 }'

df  :檢查磁碟空間
     -P: 訊息將不斷行
     -l  :僅列出本地磁碟機
     -k :空間大小表示單位為KB
     -m:空間大小表示單位為MB
     -h:空間大小表示單位自動換算成GB、MB、KB、Bytes,但會加上單位符號

grep :字串找尋工具
-v:排除

sed  :字串修改器
欲修改之內容以單引號 " ' "包住
s:自串置換
   語法:s/oldword/newword/
g:置換至文件最後一行
           語法:s/oldword/newword/g
        本例欲尋找之字串為%,恐被系統認為是系統特殊符號,因此加上"\"讓系統忽略其特殊符號之功能

awk :字串修改器
欲修改之內容以單引號及大括號 " '{}' "包住
if :可用以比對文字內容
    欲比對之內容,以小括號"()"包住
$5:以"TAB"之空白為分割欄,由左至右依序編號,此例為df -Plk結果之第5欄
1                       2                         3               4                         5                     6
Filesystem     1024-blocks     Used        Available          Capacity       Mounted on
    &&:表兩個比對式符合為真
    ||:表兩個比對式只要其中一個符合就為真
print :當前述結果為真,就秀出訊息,訊息以 雙引號包住 " " "
    $6:也可以秀出剛剛欄位之訊息

沒有留言: