linux shell 磁盤總量 磁盤剩餘量 佔用比例

linux shell 磁盤總量 磁盤剩餘量 佔用比例

#!/bin/bash

Time=`date "+%Y-%m-%d__%H:%M:%S"`

eval `df -T -m -x tmpfs -x devtmpfs | tail -n +2 | awk -v DiskSum=0 -v DiskLeft=0 '{printf("Pname["NR"]=%s;Psum["NR"]=%d;Pleft["NR"]=%d;Puseperc["NR"]=%s;", $7, $3, $4, $6); DiskSum+=$3; DiskLeft+=$5} END {printf("Pnum=%d;DiskSum=%d;DiskLeft=%d", NR, DiskSum, DiskLeft)}'`

for ((i = 1; i <= ${Pnum}; i++));do
    echo "${Time} 1 ${Pname[$i]} ${Psum[$i]} ${Pleft[$i]} ${Puseperc[$i]}"
done

DiskPerc=$[ (100 - ${DiskLeft}*100/${DiskSum} ) ]

echo "${Time} 0 disk ${DiskSum} ${DiskLeft} ${DiskPerc}%"


Time=`date +%Y-%m-%d__%H:%M:%S`

Sum=(`df -m | tr -s -c 'a-zA-Z0-9%-/\n' ' ' | cut -d ' ' -f 2 | tr -s -c 'a-zA-Z0-9-' ' '`)

Remain=(`df -m | tr -s -c 'a-zA-Z0-9%-/\n' ' ' | cut -d ' ' -f 4 | tr -s -c 'a-zA-Z0-9' ' '`)

Perc=(`df -m | tr -s -c 'a-zA-Z0-9%-/\n' ' ' | cut -d ' ' -f 5 | tr -s -c 'a-zA-Z0-9%' ' '`)

Name=(`df -m | tr -s -c 'a-zA-Z0-9%-/\n' ' ' | cut -d ' ' -f 6 | tr -s -c 'a-zA-Z0-9/' ' '`)

n=${#Sum[*]}

Sum1=0
Sum2=0
Sum3=0

for (( i=1;i<n;i++ ));do
    echo "$Time 1 ${Name[$i]} ${Sum[$i]} ${Remain[$i]} ${Perc[$i]}"
    Sum1=$[$Sum1+${Sum[$i]}]
    Sum2=$[$Sum2+${Remain[$i]}]
done

Sum3=$[$Sum1-$Sum2]

Sum3=$[$Sum3*100/$Sum1]

echo "$Time 0 disk $Sum1 $Sum2 ${Sum3}%"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章