《linux下磁盘空间监视.docx》由会员分享,可在线阅读,更多相关《linux下磁盘空间监视.docx(8页珍藏版)》请在第壹文秘上搜索。
1、du吩咐并不是显示磁盘的空闲空间,而是显示磁盘运用状况的信息,du工具用于确定文件和书目的陂盘运用状况。要运用这个工具,变更到个书目,然后运行该工具(请参见道里6).清单6.du吩咐$cdvar$du16./lost+found4.sadminstal1admin22.sadminstal1/logs28448./sadm/instal14.sadmpkgSUNWocfdinstal14.sadmpkgsNWocfdsavepspoolsNWocfdinstal116.sadmpkgSUNWocfdsavepspool/SUNWocfd18.sadmpkgSUNWocfdsavepspool2
2、0.sadmpkgSUNWocfdsave28.sadmpkgSUNWocfd4.sadmpkgSUNWcsuinst上面的边巴6中显示的输出,经过了适当的调整。缺省状况下,du招显示当前或指定的书目卜.每个文件和书目的文件运用状况。得到的值是文件的大小,堆位为该系统中的缺省块大小,与df所运用的单位样。可能是也可能不是1K.而运用-k吩咐行选项,您可以强制以IK块为单位进展显示。您可能须要依据所查看的顶级文件或书目对信息进展摘要。运用-S选项以虢开摘要视图。下面是Solaris安装中的一个摘要版本在Zvar书目中的显示:$du-sk70818.请留意,它显示了当前书目(.)的摘要信息。要获得
3、全部文件和书目的摘要信息,可以运用通配符(请参见港至7)。清单7.运用*通配符驶得摘要侑息$du-sk*382adm950apache683apache26837appserver1audit162cache3cc-ccr2crash4cron31dmi22dt6fm2imq1inet3krb54Id1Idap937lib6log8lost+found2ip2mail1mysql1news3nfs38nis2ntp10034opt1preserve96run49687sadm15saf3samba2sma_snmp131snmp39spool4Statmon663SVC14tmp10uucp2
4、4yp运用该工具时,特殊是在用户书目中运用该工具时,请特殊当心,因为所显示的信息中不包含府度文件,换句话说,具有单点号前缀的那些文件和书目。您可能希望运用下面的代码行,在用户书目中获得全部的摘要信息:$du-sk*.a-zA-z-9*du吩咐的最终一个特别有用的选项是-d,该选项可以防止du吩咐超过文件系统边界。例如,要确定根文件系统而不是任何其他的文件系统的磁盘运用状况,您可以运用-d选项:$du-dsk/有些系统没仃这个选项,但是有-X吩咐行选项,该选项仅包含与您所指定的路径一样的设备或文件系统中的文件运用状况.回页苜杳找一个特定用户的磁盘运用状况要查找某个用户所运用的磁盘空间,在运用fi
5、nd吩咐的同时,您须要结合运用du吩咐以仅报告特定用户的磁做运用状况。$find.-userme-typef-execdu-k;-user选项允i午您指定find将仅报告属于特定用户的文件。-type选项强制find仅返I川特定类型(在本例如中是文件)工程的路径,这样可以防止du包含拈目,因为这些书目可能属于某个用户,但其中却包含了很多用户的文件。然后,对于查找到的每个路径,执行du吩咐以报告礴盘运用状况。要获得摘要信息,换句话说,即某个特定用户所运用的总空间,您可以运用awk对该信息进展总计,并打印出最终的值:$find.-userme-typef-execdu-k;awk(s=s+$len
6、dprintTotalused:,sTotalused:123721时丁组,您可以依据一样的原那么对find运用-group选项:$find.-groupmcslp-typef-execdu-k;Iawks=s+$lENDprintTotalused:,sTotalused:542485然而,假如启用了硬盘配额,那么就有一种更简洁的方法。目页首运用配项配额系统以文件系统为单位,自动监视该文件系统中各个用户的磁楸运用状况。配额环境不仅允许您监视磁盘的运用状况,而且还允许设置相应的运用限制,在超过运用限制时供应警告或者更干脆地制止用户运用超过所安排的配额值的磁盘空间。下限(发出警告)称为软限制,而
7、上限制止创立超过该限制的文件)称为硬限制。有些系统可能还允许您限制每个用户所拥有的文件的数H在您的计算机上启动配额的确切方法取决于您所运用的操作系统。大多数UNIX系统在缺省状况下都包含配额的支持。1.inux系统可能须要构建新的包含配额支持的内核。然而,通常大多数操作系统为每个文件系统运用一个称为quotas的文件,其中包含了对每个用户的空间运用限制。要启用配额,您首先须要创立该文件,并确保仅有root用户可以编辑该配额文件:$toucheporthomequotas$chmod600exporthomequotas然后,运用quotaon吩咐启用配额功能:$quotaonexporthom
8、e最终,您必需为每个用户编科适当的配额。可以运用edquota吩咐并指定相应的用户来完成这项任务:$edquotame这将翻开缺省的编辑器或者vi,假如您没有设置可选的编辑器),其中包含一个用来设厘配额值的简洁表格。在卜面您可以看到,已为用户home书目文件系统启用了配额,并且软限制为200,000KB.硬限制为400,OOOKBo文件限制的设置为零,这表示没有设置限制,用户可以设理并创立随意数目的文件。fsexporthomeblocks(soft=200000,hard=400000)inodes(soft=0,hard=0)假如有更多的文件系统具有配额,那么您须要为这些文件系统配置更多的
9、行。假如您须要对多个用户配置配额,那么可以首先为一个用户设置配额,然后对edquota运用-P吩咐行选项。这将运用指定的用户作为根底来创立新的用户。例如,要运用me的设置,为用户名sip、tw和sh设置配额,请执行下面的吩咐:$edquota-pmesiptwsh回页首运用品税进展文件限IM告当用户创立一个超过其软限制的文件时,他们将会得到卜面的警告:quota_ufs:warning:overdisklimit(pid1738,uid101,inum94,fsexporthome)请用意,留给用户7天的时间更正该问题,您可以运用edquota-t来更改这个期限。假如用户试图创立超过硬限制的文
10、件,那么系统将终止写进程并依据相应的限制来截断该文件:$mkoverlimitquota_ufs:overharddisklimit(pid1843,uid101,inum130,fsexporthome)overlimit:initialized191873024of215040000bytes:Discquotaexceeded通过运行quota吩咐,任何用户都可以检查他们自己的配额限制和盛盘运用状况:$quotaOverdiskquotaonexporthome,remove199993within7.0days回页Ir配额管理运用quota吩咐,系统管理员可以检查任何用户的配额,您应当
11、运用-V吩咐行选项以供应关于文件系统、运用状况和限制信息的完整报告请参见消不8).清单8.运用-V选项$quota-VmeDiskquotasforme(uid101):usagequotalimittimeleftfilesquotalimittimeleftexporthome3999932000004000006.9days15100要获得某个文件系统中具体描述全部用户的磁盘和配额运用状况的报告,可以运用repquota吩咐,并指定要报告的文件系统(请参见清单9).清单9.运用repquote吩咐$repquota-veporthomedevdskctds7(exporthome):Bl
12、ocklimitsUserusedsofthardtimeleftusedsofthardtimeleftme+-3999932000004000006.9days15100要确保配额信息保持最新,您应当运用quotacheck吩咐。这将利用用来报告配额信息的配额信息对文件存储数据进展验证。您应当运用cron来自动地运行这项任务,每天一次比拟相宜(因为这个过程是比拟耗时的)。回页首配旗的技巧和陷井配额系统供应了监视和臼动管理的最正确组合,但是您应当留意启用了配额的文件系统以及您所设置的限制,因为它们可能会阻碍用户的工作,而不是限制他们的磁盘运用状况。例如,与您进展的运用配理相比,程序员可能须耍
13、更多的空间来构建一个应用程序。通过供应一个不受限制的编译区域通过设置一个可选的临时书目),您可以在维持他们的home书目配额的同时避开这个问题,或者在设置很高的硬限制(甚至可能是该文件系统的最大容量)的同时,设置相宜的软限制。其结果应当是当到达软限制时给出一个警告,而不会真正地实施硬限制.用户应当仍旧可以构建和创立临时文件,但是因为在构建的过程中会删除这些文件,所以不应当制止用户创立他们所需的文件。配额还可以用来帮助完成监视任务,并提示您关于特殊用户帐户的空间运用状况。我过去曾运用配额来监视Web用户帐户,即所谓的nobody帐户和其他帐户,以确保它们无法向不应具有访问权限的文件系统中写入文件
14、。要完成这项任务,可以将您须要爱护的文件系统和用户的硬限制设置为IKB回页首自动监视手动监视磁盘空间运用状况是可行的,但是您并不希望不停地运行df(甚至du)来确定已运用的或可用的磁盘空间。您可以使这个过程自动化,并且当可用空间降低到肯定的级别时,自动地向管理分(或者管理员组)发送电子邮件。酒里10中的脚本用来监视磁就空间,您可以设巴警告(warninglimit)和紧急状况(IowIimit)限制,以及进展检查的文件系统的列表。清单10.监视磁盘空间#!/bin/shwarninglimit=500000Iowlimit-250000exportdataexporthome/forfsinSdosize=df-kSfslgrepJfslawk(print$4;ifSsize-IeSlowlimitthenmailx-surgent:1.owdiskspacefor$fs(Ssize)breakfiifSsize-IeSwarninglimitthenmaiIx-sWARNING:1.owdiskspacefor$fs(Ssize)fidone其中关键的行是提取每个文件系统中空闱磁盘空间的大小:size=df-kSfslgrep$fs|awk,(print$4;、该脚本运用df仅提取了要进展grep的