linux下磁盘空间监视11_第1页
linux下磁盘空间监视11_第2页
linux下磁盘空间监视11_第3页
linux下磁盘空间监视11_第4页
linux下磁盘空间监视11_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第页入门:使用df监视磁盘空间是UNIX管理员的工作中很重要的一局部。本文向您介绍一些完成管理工作所需的工具,包括df、du、find的使用,甚至配额的使用。让我们先来看看df的强大功能。对于许多管理员来说,使用df工具可能有点像断续的神经运动,因为它通过一个命令提供了所有文件系统中已使用的和可用的存储空间的快照视图。根据您的UNIX环境的不同,df的缺省输出可能包含各种不同的信息。大局部现代的df变种都可以显示磁盘空间、使用情况和可用性,通常还包括装入点〔有时包括设备〕。例如,基于BSD的MacOSX显示如清单1所示的信息。

清单1.MacOSX的缺省磁盘空间信息512-blocksUsedAvailCapacityMountedon/dev/disk0s226843545611974134414818211245%/devfs1951950100%/devfdesc220100%/dev<volfs>102410240100%/.vol/dev/disk0s34347452072514483622307217%/Volumes/Untitled请注意,所显示的大小是以512字节块为单位,而不是千字节。缺省情况下,几乎所有传统的UNIX操作系统都以512字节块为单位报告大小,而不是千字节。要获得以1K块为单位的信息,可以使用-k命令行选项,如清单2所示。

清单2.使用带-k选项的df命令$df-k1K-blocksUsedAvailCapacityMountedon/dev/disk0s2134217728598707047409102445%/devfs97970100%/devfdesc110100%/dev<volfs>5125120100%/.vol/dev/disk0s32173726036257241811153617%/Volumes/Untitled有些变种可能还支持可选的块大小,如兆字节〔使用-m〕和千兆字节〔使用-g〕,如清单3所示。

清单3.使用带-g选项的df命令$df-g1G-blocksUsedAvailCapacityMountedon/dev/disk0s2128577045%/devfs000100%/devfdesc000100%/dev<volfs>000100%/.vol/dev/disk0s32031717%/Volumes/Untitled很显然,在增大显示的块大小的同时,信息中的详细级别也开场降低,但使用可选的大小是一种快速监视磁盘,特别是超大容量磁盘的很有用的方法。其他版本的df工具〔特别是Solaris〕,缺省情况下将报告空块和文件可用性信息。大局部文件系统都具有能够存储文件的上限数值〔该数值很大,以至于通常不会到达该上限〕,所以有可能整个系统填满了文件,还有可用磁盘容量但却不能再存储任何文件了。您可以在清单4中看到Solaris的缺省输出例如。

清单4.Solaris的缺省输出$df/(/dev/dsk/c0t0d0s0):14877208blocks914042files/devices(/devices):0blocks0files/system/contract(ctfs):0blocks2147483618files/proc(proc):0blocks16109files/etc/mnttab(mnttab):0blocks0files/etc/svc/volatile(swap):5737216blocks147177files/system/object(objfs):0blocks2147483532files/usr(/dev/dsk/c0t0d0s3):9076010blocks863695files/dev/fd(fd):0blocks0files/var(/dev/dsk/c0t0d0s4):8110796blocks483714files/tmp(swap):5737216blocks147177files/var/run(swap):5737216blocks147177files/export/home(/dev/dsk/c0t0d0s7):69362510blocks4272812files使用-k命令行选项可以将显示内容切换为与前面的例如类似的格式,其中对数据进展了摘要处理,得到更加便于阅读的格式〔请参见清单5〕。

清单5.使用-k选项$df-kkbytesusedavailcapacityMountedon/dev/dsk/c0t0d0s0764462920602673621573%//devices0000%/devicesctfs0000%/system/contractproc0000%/procmnttab0000%/etc/mnttabswap2868600101628675841%/etc/svc/volatileobjfs0000%/system/object/dev/dsk/c0t0d0s382612373723232445539346%/usrfd0000%/dev/fd/dev/dsk/c0t0d0s441302387484940140872%/varswap2867584028675840%/tmpswap28676244028675841%/var/run/dev/dsk/c0t0d0s735611388930133343251423%/export/home所有的df变种都承受一个目录或路径,然后显示包含该路径的文件系统的磁盘空间信息。例如,下面显示了应该如何获得根文件系统的空间信息:$df-k/kbytesusedavailcapacityMountedon/dev/dsk/c0t0d0s0764462920602673621573%/或者,下面使用df显示了一个用户的home目录的空间信息:$df-k~mckbytesusedavailcapacityMountedon/dev/dsk/c0t0d0s735611388930133343251423%/export/home

回页首使用df的输出df工具实际上是diskfree的缩写,并且这也正是该工具所显示的内容。如果再次查看某个例如输出,您可以从中提取一些特别重要的元素:kbytesusedavailcapacityMountedon/dev/dsk/c0t0d0s735611388930133343251423%/export/home第一列通常具有与块大小数据相对应的标题,它显示了磁盘的总大小。used列显示了该文件系统或设备上已使用的块数。avail列显示了该文件系统上尚未使用的〔可用的〕块数。capacity列提供了总大小中已使用的磁盘空间所占的百分比。这个信息本身可以提供关于可用空间的直观指示。缺省情况下,UNIX所创立的文件系统中百分之九十的容量可用于存放用户数据。剩下的百分之十由系统保存,以便root用户执行紧急维护工作。如果用户试图添加或创立超出该限制的文件,那么将返回一个错误〔超出文件系统空间〕。有了这个紧急维护空间,就可以利用它对一块已满的磁盘进展恢复。例如,作为管理员,您可以使用这个空间来创立快速备份,或对现有的数据进展压缩而无需为到达该目的使用辅助文件系统。您可以使用tunefs工具或在创立文件系统时,调整保存的空闲空间的大小。对于大容量磁盘来说,这是至关重要的,因为其中百分之十的缓冲区可能等于许多个GB的潜在空间。通常好的做法是至少保存百分之一的空间,以便在完全用尽存储空间之前,提供最低限度的缓冲区空间。在深入研究这个问题之前,特别是如果已经使用了大量的磁盘空间,您需要确定到底是谁使用了所有的这些空间。

回页首使用dudu命令并不是显示磁盘的空闲空间,而是显示磁盘使用情况的信息。du工具用于确定文件和目录的磁盘使用情况。要使用这个工具,改变到一个目录,然后运行该工具〔请参见清单6〕。

清单6.du命令$cd/var$du16./lost+found4./sadm/install/admin22./sadm/install/logs28448./sadm/install4./sadm/pkg/SUNWocfd/install4./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd/install16./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd18./sadm/pkg/SUNWocfd/save/pspool20./sadm/pkg/SUNWocfd/save28./sadm/pkg/SUNWocfd4./sadm/pkg/SUNWcsu/inst...上面的清单6中显示的输出,经过了适当的调整。缺省情况下,du将显示当前或指定的目录下每个文件和目录的文件使用情况。得到的值是文件的大小,单位为该系统中的缺省块大小,与df所使用的单位一样。可能是也可能不是1K,而使用-k命令行选项,您可以强制以1K块为单位进展显示。您可能需要根据所查看的顶级文件或目录对信息进展摘要。使用-s选项以翻开摘要视图。下面是Solaris安装中的一个摘要版本在/var目录中的显示:$du-sk70818.请注意,它显示了当前目录(.)的摘要信息。要获得所有文件和目录的摘要信息,可以使用*通配符〔请参见清单7〕。

清单7.使用*通配符获得摘要信息$du-sk*382adm950apache683apache26837appserver1audit162cache3cc-ccr2crash4cron31dmi22dt6fm2imq1inet3krb54ld1ldap937lib6log8lost+found2lp2mail1mysql1news3nfs38nis2ntp10034opt1preserve96run49687sadm15saf3samba2sma_snmp131snmp39spool4statmon663svc14tmp10uucp24yp使用该工具时,特别是在用户目录中使用该工具时,请特别小心,因为所显示的信息中不包含隐藏文件,换句话说,具有单点号前缀的那些文件和目录。您可能希望使用下面的代码行,在用户目录中获得所有的摘要信息:$du-sk*.[a-zA-Z0-9]*du命令的最后一个非常有用的选项是-d,该选项可以防止du命令超过文件系统边界。例如,要确定根文件系统而不是任何其他的文件系统的磁盘使用情况,您可以使用-d选项:$du-dsk/有些系统没有这个选项,但是有-x命令行选项,该选项仅包含与您所指定的路径一样的设备或文件系统中的文件使用情况。

回页首查找一个特定用户的磁盘使用情况要查找某个用户所使用的磁盘空间,在使用find命令的同时,您需要结合使用du命令以仅报告特定用户的磁盘使用情况。$find.-usermc-typef-execdu-k{}\;-user选项允许您指定find将仅报告属于特定用户的文件。-type选项强制find仅返回特定类型〔在本例如中是文件〕工程的路径,这样可以防止du包含目录,因为这些目录可能属于某个用户,但其中却包含了许多用户的文件。然后,对于查找到的每个路径,执行du命令以报告磁盘使用情况。要获得摘要信息,换句话说,即某个特定用户所使用的总空间,您可以使用awk对该信息进展总计,并打印出最后的值:$find.-usermc-typef-execdu-k{}\;|awk'{s=s+$1}END{print"Totalused:",s}'Totalused:123721对于组,您可以根据一样的原那么对find使用-group选项:$find.-groupmcslp-typef-execdu-k{}\;|awk'{s=s+$1}END{print"Totalused:",s}'Totalused:542485然而,如果启用了磁盘配额,那么就有一种更简单的方法。

回页首使用配额配额系统以文件系统为单位,自动监视该文件系统中各个用户的磁盘使用情况。配额环境不仅允许您监视磁盘的使用情况,而且还允许设置相应的使用限制,在超过使用限制时提供警告或者更直接地制止用户使用超过所分配的配额值的磁盘空间。下限〔发出警告〕称为软限制,而上限〔制止创立超过该限制的文件〕称为硬限制。有些系统可能还允许您控制每个用户所拥有的文件的数目。在您的计算机上启动配额确实切方法取决于您所使用的操作系统。大多数UNIX系统在缺省情况下都包含配额的支持。Linux®系统可能需要构建新的包含配额支持的内核。然而,通常大多数操作系统为每个文件系统使用一个称为quotas的文件,其中包含了对每个用户的空间使用限制。要启用配额,您首先需要创立该文件,并确保仅有root用户可以编辑该配额文件:$touch/export/home/quotas$chmod600/export/home/quotas然后,使用quotaon命令启用配额功能:$quotaon/export/home最后,您必须为每个用户编辑适当的配额。可以使用edquota命令并指定相应的用户来完成这项任务:$edquotamc这将翻开缺省的编辑器〔或者vi,如果您没有设置可选的编辑器〕,其中包含一个用来设置配额值的简单表格。在下面您可以看到,已为用户home目录文件系统启用了配额,并且软限制为200,000KB,硬限制为400,000KB。文件限制的设置为零,这表示没有设置限制,用户可以设置并创立任意数目的文件。fs/export/homeblocks(soft=200000,hard=400000)inodes(soft=0,hard=0)如果有更多的文件系统具有配额,那么您需要为这些文件系统配置更多的行。如果您需要对多个用户配置配额,那么可以首先为一个用户设置配额,然后对edquota使用-p命令行选项。这将使用指定的用户作为根底来创立新的用户。例如,要使用mc的设置为用户名slp、tw和sh设置配额,请执行下面的命令:$edquota-pmcslptwsh

回页首使用配额进展文件限制警告当用户创立一个超过其软限制的文件时,他们将会得到下面的警告:quota_ufs:Warning:overdisklimit(pid1738,uid101,inum94,fs/export/home)请注意,留给用户7天的时间更正该问题,您可以使用edquota-t来更改这个期限。如果用户试图创立超过硬限制的文件,那么系统将终止写进程并根据相应的限制来截断该文件:$mkoverlimitquota_ufs:overharddisklimit(pid1843,uid101,inum130,fs/export/home)overlimit:initialized191873024of215040000bytes:Discquotaexceeded通过运行quota命令,任何用户都可以检查他们自己的配额限制和磁盘使用情况:$quotaOverdiskquotaon/export/home,remove201993Kwithin7.0days

回页首配额管理使用quota命令,系统管理员可以检查任何用户的配额,您应该使用-v命令行选项以提供关于文件系统、使用情况和限制信息的完整报告〔请参见清单8〕。

清单8.使用-v选项$quota-vmcDiskquotasformc(uid101):usagequotalimittimeleftfilesquotalimittimeleft/export/home3999932000004000006.9days15100要获得某个文件系统中详细描述所有用户的磁盘和配额使用情况的报告,可以使用repquota命令,并指定要报告的文件系统〔请参见清单9〕。

清单9.使用repquote命令$repquota-v/export/home/dev/dsk/c0t0d0s7(/export/home):BlocklimitsUserusedsofthardtimeleftusedsofthardtimeleftmc+-3999932000004000006.9days15100要确保配额信息保持最新,您应该使用quotacheck命令。这将利用用来报告配额信息的配额信息对文件存储数据进展验证。您应该使用cron来自动地运行这项任务,每天一次比拟适宜〔因为这个过程是比拟耗时的〕。

回页首配额的技巧和陷井配额系统提供了监视和自动管理的最正确组合,但是您应该注意启用了配额的文件系统以及您所设置的限制,因为它们可能会阻碍用户的工作,而不是控制他们的磁盘使用情况。例如,与您进展的使用配置相比,程序员可能需要更多的空间来构建一个应用程序。通过提供一个不受限制的编译区域〔通过设置一个可选的临时目录〕,您可以在维持他们的home目录配额的同时避开这个问题,或者在设置很高的硬限制〔甚至可能是该文件系统的最大容量〕的同时,设置适宜的软限制。其结果应该是当到达软限制时给出一个警告,而不会真正地实施硬限制。用户应该仍然可以构建和创立临时文件,但是因为在构建的过程中会删除这些文件,所以不应该制止用户创立他们所需的文件。配额还可以用来帮助完成监视任务,并提醒您关于特殊用户帐户的空间使用情况。我过去曾使用配额来监视Web用户帐户,即所谓的nobody帐户和其他帐户,以确保它们无法向不应具有访问权限的文件系统中写入文件。要完成这项任务,可以将您需要保护的文件系统和用户的硬限制设置为1KB。

回页首自动监视手动监视磁盘空间使用情况是可行的,但是您并不希望不停地运行df〔甚至du〕来确定已使用的或可用的磁盘空间。您可以使这个过程自动化,并且当可用空间降低到一定的级别时,自动地向管理员〔或者管理员组〕发送电子邮件。清单10中的脚本用来监视磁盘空间,您可以设置警告(warninglimit)和紧急情况(lowlimit)限制,以及进展检查的文件系统的列表。

清单10.监视磁盘空间#!/bin/shwarninglimit=500000lowlimit=250000"/export/data/export/home/"forfsin$dosize=`df-k$fs|grep$fs|awk'{print$4;}'`if[$size-le$lowlimit]thenmailx-s"URGENT:Lowdiskspacefor$fs($size)"breakfiif[$size-le$warninglimit]thenmailx-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论