UNIX系统下监视磁盘空间和使用情况

  发布时间:2008-09-08 18:50:14   作者:佚名   我要评论
通常,UNIX® 管理员都拥有一套常用的辅助进程管理的实用工具、技巧和系统。本文提供了各种用于简化各个过程的关键实用工具、命令行链和脚本。这些工具中的一部分来自于操作系统,而大部分的技巧则来源于长期的经验积累和减轻系统管理员的工作压力的要求。本系列文章
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

使用配额

配额系统以文件系统为单位,自动监视该文件系统中各个用户的磁盘使用情况。配额环境不仅允许您监视磁盘的使用情况,而且还允许设置相应的使用限制,在超过使用限制时提供警告或者更直接地禁止用户使用超过所分配的配额值的磁盘空间。下限(发出警告)称为软限制,而上限(禁止创建超过该限制的文件)称为硬限制。有些系统可能还允许您控制每个用户所拥有的文件的数目。

在您的计算机上启动配额的确切方法取决于您所使用的操作系统。大多数 UNIX 系统在缺省情况下都包含配额的支持。Linux® 系统可能需要构建新的包含配额支持的内核。然而,通常大多数操作系统为每个文件系统使用一个称为 quotas 的文件,其中包含了对每个用户的空间使用限制。

要启用配额,您首先需要创建该文件,并确保仅有 root 用户可以编辑该配额文件:

$ touch /export/home/quotas
$ chmod 600 /export/home/quotas

 

然后,使用 quotaon 命令启用配额功能:

$ quotaon /export/home

 

最后,您必须为每个用户编辑适当的配额。可以使用 edquota 命令并指定相应的用户来完成这项任务:

$ edquota mc

 

这将打开缺省的编辑器(或者 vi,如果您没有设置可选的编辑器),其中包含一个用来设置配额值的简单表格。在下面您可以看到,已为用户 home 目录文件系统启用了配额,并且软限制为 200,000KB,硬限制为 400,000KB。文件限制的设置为零,这表示没有设置限制,用户可以设置并创建任意数目的文件。

fs /export/home blocks (soft = 200000, hard = 400000) inodes (soft = 0,
hard = 0)

 

如果有更多的文件系统具有配额,那么您需要为这些文件系统配置更多的行。

如果您需要对多个用户配置配额,那么可以首先为一个用户设置配额,然后对 edquota 使用 -p 命令行选项。这将使用指定的用户作为基础来创建新的用户。例如,要使用 mc 的设置为用户名 slp、tw 和 sh 设置配额,请执行下面的命令:

$ edquota -p mc slp tw sh 

使用配额进行文件限制警告

当用户创建一个超过其软限制的文件时,他们将会得到下面的警告:

quota_ufs: Warning: over disk limit (pid 1738, uid 101, inum 94, fs /export/home)


 

请注意,留给用户 7 天的时间更正该问题,您可以使用 edquota -t 来更改这个期限。

如果用户试图创建超过硬限制的文件,那么系统将终止写进程并根据相应的限制来截断该文件:

$ mkfile 210000k overlimit
quota_ufs: over hard disk limit (pid 1843, uid 101, inum 130, fs
/export/home)
overlimit: initialized 191873024 of 215040000 bytes: Disc quota exceeded


 

通过运行 quota 命令,任何用户都可以检查他们自己的配额限制和磁盘使用情况:

$ quota
Over disk quota on /export/home, remove 199993K within 7.0 days

配额管理

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


清单 8. 使用 -v 选项

$ quota -v mc
Disk quotas for mc (uid 101):
Filesystem usage quota limit timeleft files quota limit
timeleft
/export/home 399993 200000 400000 6.9 days 151 0 0

 

要获得某个文件系统中详细描述所有用户的磁盘和配额使用情况的报告,可以使用 repquota 命令,并指定要报告的文件系统(请参见清单 9)。


清单 9. 使用 repquote 命令

$ repquota -v /export/home 
/dev/dsk/c0t0d0s7 (/export/home):
Block limits File limits
User used soft hard timeleft used soft hard timeleft
mc +- 399993 200000 400000 6.9 days 151 0 0

 

要确保配额信息保持最新,您应该使用 quotacheck 命令。这将利用用来报告配额信息的配额信息对文件存储数据进行验证。您应该使用 cron 来自动地运行这项任务,每天一次比较合适(因为这个过程是比较耗时的)。

相关文章

  • UNIX系统正确关机方法

    UNIX操作系统是目前网络上用得最多的操作系统之一,使用UNIX系统,机器的关机要比使用DOS单用户机器的关机过程复杂得多。在UNIX下如不使用正确的关机命令和关机方法,将破坏
    2008-09-08
  • unix系统高手的操作习惯

    使用文件名自动完成功能 (file name completion)。 使用历史扩展。 重用以前的参数。 使用 pushd 和 popd 管理目录导航。 查找大型文件。 不使用
    2008-09-08
  • 成功备份UNIX系统

    SCO UNIX系统因其稳定可靠的特点而在金融、保险等行业得到广泛应用,但它的安装与维护对于专业技术人员来说也不是一件轻松的事。笔者工作所维护的系统,安装有SCO UNIX操作
    2008-09-08
  • Unix系统常见十大故障详细分析

    本篇文章小编将为大家介绍,Unix系统常见十大故障详细分析。需要的朋友可以参考一下
    2013-04-17

最新评论

?


http://www.vxiaotou.com