zoukankan      html  css  js  c++  java
  • 监视磁盘空间

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

    监视磁盘空间

     1 #!/bin/sh
     2 
     3 warninglimit=500000
     4 lowlimit=250000
     5 
     6 filesystems="/export/data /export/home /"
     7 
     8 for fs in $filesystems
     9 do
    10 size=`df -k $fs|grep $fs|awk '{ print $4; }'`
    11 if [ $size -le $lowlimit ]
    12 then
    13 mailx -s "URGENT: Low disk space for $fs ($size)"
    14 break
    15 fi
    16 if [ $size -le $warninglimit ]
    17 then
    18 mailx -s "WARNING: Low disk space for $fs ($size)"
    19 fi
    20 done

     

    其中关键的一行是提取每个文件系统中空闲磁盘空间的大小:
    size=`df -k $fs|grep $fs|awk '{ print $4; }'`

    该脚本使用 df 仅提取了要进行 grep 的行,然后使用 awk 提取数据的第 4 列,该列是空闲空间的大小。

    然后,您可以根据 warninglimit/lowlimit 来检查空闲空间,并生成合适的错误。要避免系统同时发生下限和警告错误,该脚本首先检查下限,并在尝试测试警告之前使用 break 跳到循环中的下一个文件系统。

    结束语

    监视磁盘空间是管理员的一项重要工作,耗尽磁盘空间将可能严重地影响用户的工作,并且在严重的情况下,可能会丢失数据,或者使得系统崩溃,因为系统无法获得运行所需的磁盘空间。

    使用 df,您可以确定整个文件系统的空闲空间和空间使用情况,但这只是描述了部分信息。要确定磁盘空间用于何处,您需要使用 du 工具对不同的目录进行研究。通过使用 find,您甚至可以使用 du 来查找指定用户所使用的空间。对于更加自动化的用户级磁盘使用情况和控制,配额是一个更好的选择。

  • 相关阅读:
    Ado.Net基础拾遗一:读取数据
    Linq 简明教程
    ASP.NET MVC DropdownList的使用
    inner join, left join ,right join 结果
    C#基础之 派生类
    SQL Server 笔试题总结
    SQL Server 基础 之 CASE 子句
    昨晚京东校招笔试,没考一道.net,全考java了
    利用scrapy和MongoDB来开发一个爬虫
    linux 获取网卡的IP地址
  • 原文地址:https://www.cnblogs.com/chenshoubiao/p/4606162.html
Copyright © 2011-2022 走看看