磁盘容量检查脚本

cat test1.sh 
#!/bin/sh
if [ $# -lt 1 ]
then
  echo "error_text=diskname argument not specified!"
  exit
fi
 
os=`uname`
diskname=$1
diskutil="5"
awk_cmd="awk"
disk_size=""
used=""
disk_size_mb="-1"
used_mb="-1"
 
#get pure disk name
which nawk > /dev/null 2>&1
if [ $? -eq 0 ]
then
    awk_cmd="nawk"
fi
tempfile=`echo $diskname|$awk_cmd '{gsub("/",""); print $0}'`
tempfile="disk_$tempfile.temp"
 
if [ "$os" = "linux" ] || [ "$os" = "Linux" ]
then
  df $diskname >$tempfile
  if [ $? -ne 0 ]
  then
    echo "error_text=$diskname not found"
    rm $tempfile
    exit 0
  fi
  temp=`cat $tempfile |tail -1`
  diskutil=`echo $temp|awk '{printf("%s",$5)}'|awk '{gsub("%",""); print $0}'`
  disk_size=`cat $tempfile |tail -1 | awk '{print $2}'`
  disk_size_mb=`expr $disk_size / 1024`
  disk_size=`echo | awk '{ printf("%.2f",(c1/1024.0)) }' c1=$disk_size_mb`
  disk_size="${disk_size}GB"
 
  used=`cat $tempfile |tail -1 | awk '{print $3}'`
  used_mb=`expr $used / 1024`
  used=`echo | awk '{ printf("%.2f",(c1/1024.0)) }' c1=$used_mb`
  used="${used}GB"
 
elif [ "$os" = "SunOS" ]
then
  df -k $diskname > $tempfile
  if [ $? -ne 0 ]
  then
    echo "error_text=$diskname not found"
    exit 0
  fi
  diskutil=`cat $tempfile |tail -1 | awk '{print $5}' | cut -f1 -d %`
  disk_size=`cat $tempfile |tail -1 | awk '{print $2}'`
  disk_size_mb=`expr $disk_size / 1024`
  disk_size=`echo | awk '{ printf("%.2f",(c1/1024.0)) }' c1=$disk_size_mb`
  disk_size="${disk_size}GB"
 
  used=`cat $tempfile |tail -1 | awk '{print $3}'`
  used_mb=`expr $used / 1024`
  used=`echo | awk '{ printf("%.2f",(c1/1024.0)) }' c1=$used_mb`
  used="${used}GB"
 
elif [ "$os" = "HP-UX" ]
then
  #df -k $diskname > /dev/null
  df -k $diskname > $tempfile
  if [ $? -ne 0 ]
  then
    echo "error_text=$diskname not found"
    exit 0
  fi
  #temp=`df -k $diskname |tail -1`
  temp=`cat $tempfile |tail -1`
  diskutil=`echo $temp|awk '{printf("%s",$1)}'|awk '{gsub("%"," "); print $0}'`
  diskutil=`echo $diskutil|awk '{gsub(" ",""); print $0}'`
  echo "Disk Utilization=${diskutil}"
  echo "Total Size=-1"
  echo "Used Size=-1"
  echo "Avail Size=-1"
  echo "status_text=Disk Utilization: {0}%;;;${diskutil}"
  exit
 
elif [ "$os" = "SCO_SV" ] || [ "$os" = "UnixWare" ]
then
  #df -k $diskname > /dev/null
  df -k $diskname > $tempfile
  if [ $? -ne 0 ]
  then
    echo "error_text=$diskname not found"
    exit 0
  fi
  #temp=`df -k $diskname |tail -1`
  temp=`cat $tempfile |tail -1`
  diskutil=`echo $temp|awk '{printf("%s",$4)}'|awk '{gsub("%"," "); print $0}'`
  diskutil=`echo $diskutil|awk '{gsub(" ",""); print $0}'`
  echo "Disk Utilization=${diskutil}"
  echo "Total Size=-1"
  echo "Used Size=-1"
  echo "Avail Size=-1"
  echo "status_text=Disk Utilization: {0}%;;;${diskutil}"
  exit
 
elif [ "$os" = "OSF1" ]
then
  df $diskname > $tempfile
  if [ $? -ne 0 ]
  then
    echo "error_text=$diskname not found"
    exit 0
  fi
  temp=`cat $tempfile |tail -1`
  diskutil=`echo $temp|awk '{printf("%s",$5)}'|awk '{gsub("%"," "); print $0}'`
  diskutil=`echo $diskutil|awk '{gsub(" ",""); print $0}'`
  echo "Disk Utilization=${diskutil}"
  echo "Total Size=-1"
  echo "Used Size=-1"
  echo "Avail Size=-1"
  echo "status_text=Disk Utilization: {0}%;;;${diskutil}"
  exit
 
elif [ "$os" = "AIX" ] || [ "$os" = "aix" ]
then
  #df -k $diskname > /dev/null
  df -k $diskname > $tempfile
  if [ $? -ne 0 ]
  then
    echo "error_text=$diskname not found"
    exit 0
  fi
  #temp=`df -k $diskname |tail -1`
  temp=`cat $tempfile |tail -1`
  diskutil=`echo $temp|awk '{printf("%s",$4)}'|awk '{gsub("%"," "); print $0}'`
  echo "Disk Utilization=${diskutil}"
  echo "Total Size=-1"
  echo "Used Size=-1"
  echo "Avail Size=-1"
  echo "status_text=Disk Utilization: {0}%;;;${diskutil}"
  exit
 
else 
  echo "error_text=Unsupported platform: $os"
  exit
fi
 
rm $tempfile
avail_mb=`expr $disk_size_mb - $used_mb`
avail=`echo | awk '{ printf("%.2f",(c1/1024.0)) }' c1=$avail_mb`
avail="${avail}GB"
echo "Disk Utilization=${diskutil}"
echo "Total Size=$disk_size_mb"
echo "Used Size=$used_mb"
echo "Avail Size=$avail_mb"
---------------------------------------------------------------------------------------
执行结果:
sh test1.sh  /dev/sda3 
Disk Utilization=1
Total Size=3924
Used Size=0
Avail Size=3924
---------------------------------------------------------------------------------------
cat test.sh 
#!/bin/sh
os=`uname`
 
if [ "$os" = "linux" ] || [ "$os" = "Linux" ]
then
  df -k | awk '{ print $1 ";" $6 ";" $2 }'
elif [ "$os" = "SunOS" ]
then
  df -k |more | awk '{ print $1 ";" $6 ";" $2 }'
elif [ "$os" = "HP-UX" ]
then
  df -k | awk '{ print $1 ";" $6 }'
elif [ "$os" = "SCO_SV" ] || [ "$os" = "UnixWare" ]
then
  df -k | awk '{ print $1 ";" $6 }'
elif [ "$os" = "OSF1" ]
then
  df -k | awk '{ print $1 ";" $6 }'
elif [ "$os" = "AIX" ] || [ "$os" = "aix" ]
then
  df -k | awk '{ print $1 ";" $7 }'
else 
  df -k | awk '{ print $1 ";" $6 }'
fi
exit
----------------------------------------------------------------------------------------
sh test.sh 
Filesystem;Mounted;1K-blocks
/dev/mapper/vg_root-lv_root;/;15481840
tmpfs;/dev/shm;4028788
/dev/sda2;/boot;198337
/dev/sda1;/boot/efi;511720
/dev/mapper/vg_root-lv_home;/home;5160576
/dev/mapper/vg_root-lv_tmp;/tmp;2064208
/dev/mapper/vg_root-lv_var;/var;5160576
/dev/mapper/vg_data-lv_opt;/opt;10321208
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值