文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>磁盘空间监控

磁盘空间监控

时间:2007-03-28  来源:wenyunqiu

#/bin/sh
#
# Program:   totalsize.sh
# Usage  :   totalsize.sh  dirname
# Author :   cnscn
# QQ     :   492843095     
# Time   :   2006-02-04 09:20
# mail   :   [email protected]
#
# 说明   :
#            本脚本用于磁盘空间监控
#                 一般我们常用ls -l命令列出指定目录下文件与文件夹的情况,
#            但当我们想查看其下子目录大小时却全都是4KB大小,从而无法得
#            知子文件夹大小情况,一个个查看又很麻烦,于是就写了这个脚本,
#            希望能对大家有所帮助。[部分程序及思路来源于网络,谢谢]
#
# 注意   :    每行的\后面不要有空格
#            请保留以上版权信息,谢谢使用

#show the disks information
echo
echo "1)Disks"
echo

df -h
echo
echo
echo

#show the files infomation
#sed 's:/.*/\([^/]\{1,\}\)$:\1:g   //remove the diretories of the filename, /home/cnscn/abc -> abc

ls -al $1 |grep -v ^d  |sort -n  +4 | awk ' \
 BEGIN{ \
    print  "2) Files\n"; \
    print  "  No.          MB                  KB                Files"; \
    print  "------   --------------      -----------   --------------------------"; \
    nums=0; \
 } \
 {\
    if($8 !~ /\.|\.\./ && NF>2) \
    { \
        nums=nums+$5; \
        printf "%3d   %14.3fM    %14.3fK    %s\n",NR,$5/1024/1024M,$5/1024,$NF; \
    } \
 } \
  \
 END{ \
     printf "\ntotal:\n--------------------------------------------------------------------------\n%20.3fM       %11.3fK",nums/1024/1024,nums/1024; \
 }' |sed 's:/.*/\([^/]\{1,\}\)$:\1:g'

echo
echo
echo

#show the sub directories infomation
#sed -e '$d'            //delete the lastest line, because it always the $1

du $1 --max-depth=1 |sed -e '$d'|sort -n|awk  ' \
BEGIN{ \
     print  "3) Dirs\n"; print  "  No.      GB             MB                  KB            Directories"; \
     print  "------ ---------    --------------      -----------   --------------------------"; \
     nums=0; \
     sizeend=0; \
} \
{ \
  { \
     nums=nums+$1; \
     printf "%3d    %6.3fGB   %14.3fM   %14.3fK    %s\n",NR,$1/1024/1024,$1/1024,$1,$NF; \
  } \
} \
END{ \
     printf "\ntotal:\n------------------------------------------------------------------------\n%14.3fGB %14.2fMB  %14.2fKB",nums/1024/1024,nums/1024,nums; \
}' |sed 's:/.*/\([^/]\{1,\}\)$:\1:g'

echo
   

=======================示例================================

[root@localhost ~]# ./totalsize.sh /home/cnscn

1)Disks

Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda1              12G  5.1G  6.1G  46% /
none                  474M     0  474M   0% /dev/shm
/dev/hda2              20G  7.1G   12G  39% /opt
/dev/hda3             4.9G  193M  4.4G   5% /var

2) Files

  No.          MB                  KB                Files
------   --------------      -----------   --------------------------
  1            0.000M             0.000K    .recently-used
  2            0.000M             0.000K    .ICEauthority
  4            0.000M             0.025K    .dmrc
  5            0.000M             0.115K    .bash_history
  6            0.000M             0.117K    .gtkrc
  7            0.000M             0.121K    .bashrc
  8            0.000M             0.133K    .gtkrc-1.2-gnome2
  9            0.000M             0.187K    .bash_profile
 10            0.000M             0.297K    .bash_logout
 11            0.000M             0.374K    .emacs
 12            0.000M             0.457K    .rhn-applet.conf
 13            0.001M             0.643K    .zshrc
 14            0.005M             5.487K    .canna
 15            0.012M            11.830K    .fonts.cache-1
 16           14.669M         15021.084K    IPQQ2006.exe
 17           15.627M         16001.558K    setup.exe
 18          208.760M        213770.000K    WinXPSP2-V3.5.iso

total:
--------------------------------------------------------------------------
             239.075M        244812.428K

3) Dirs

  No.      GB             MB                  KB            Directories
------ ---------    --------------      -----------   --------------------------
  1     0.000GB            0.008M            8.000K    bin
  2     0.000GB            0.008M            8.000K    Desktop
  3     0.000GB            0.008M            8.000K    .eggcups
  4     0.000GB            0.008M            8.000K    .gnome2_private
  5     0.000GB            0.016M           16.000K    .gstreamer-0.8
  6     0.000GB            0.016M           16.000K    .xemacs
  7     0.000GB            0.023M           24.000K    .fcitx
  8     0.000GB            0.023M           24.000K    .metacity
  9     0.000GB            0.023M           24.000K    .nautilus
 10     0.000GB            0.031M           32.000K    .fullcircle
 11     0.000GB            0.031M           32.000K    .gnome
 12     0.000GB            0.031M           32.000K    .vmware
 13     0.000GB            0.035M           36.000K    .kde
 14     0.000GB            0.055M           56.000K    .config
 15     0.000GB            0.055M           56.000K    .gconfd
 16     0.000GB            0.145M          148.000K    .gnome2
 17     0.000GB            0.156M          160.000K    .rhn-applet
 18     0.000GB            0.492M          504.000K    .gconf
 19     0.001GB            1.277M         1308.000K    .wine
 20     0.006GB            5.793M         5932.000K    .mozilla

total:
------------------------------------------------------------------------
         0.008GB           8.23MB         8432.00KB

相关阅读 更多 +
排行榜 更多 +
木头人挑战游戏

木头人挑战游戏

休闲益智 下载
荒野神枪手

荒野神枪手

休闲益智 下载
步步通行

步步通行

学习教育 下载