用于记录磁盘使用情况的脚本或程序

Ada*_*dam 2 scripts disk-usage

我想要一个程序或更佳的方式来记录磁盘使用情况。

为了解释我的意思,当有人安装 Ubuntu 时,大约使用了 4.5 GB 的磁盘。然后,当您安装/卸载程序时,此使用量会增加或减少。

我想要的是一种在发生更改(安装/保存或卸载/删除某些内容)时自动记录 txt 文件中使用的当前磁盘以及发生此更改的时间和日期的方法。

Jac*_*ijm 5

使用df跟踪磁盘空间的命令和lsblk跟踪已安装驱动器的命令,下面的脚本在后台运行,将记录所有已安装驱动器的可用空间的更改。它创建一个日志文件:~/disklog将更改写入 (in k)。

如果你在终端中运行它,它会同时输出结果。

日志文件的内容如下所示:

[mountpoint / change / date/time / used]

/ . . . . . . . . . . . . . . . . . .            36 k       Fri Mar 27 08:17:30 2015    used 87989352 k
/media/intern_2 . . . . . . . . . . .         -1792 k       Fri Mar 27 08:17:32 2015    used 562649592 k
/ . . . . . . . . . . . . . . . . . .            -4 k       Fri Mar 27 08:17:39 2015    used 87989356 k
/ . . . . . . . . . . . . . . . . . .           -36 k       Fri Mar 27 08:17:43 2015    used 87989392 k
/ . . . . . . . . . . . . . . . . . .            -4 k       Fri Mar 27 08:17:55 2015    used 87989396 k
/ . . . . . . . . . . . . . . . . . .             4 k       Fri Mar 27 08:18:11 2015    used 87989392 k
/ . . . . . . . . . . . . . . . . . .           -32 k       Fri Mar 27 08:18:13 2015    used 87989424 k
Run Code Online (Sandbox Code Playgroud)

如何使用

  1. 将下面的脚本复制到一个空文件中,将其安全为log_diskusage.py
  2. 在脚本的头部部分,设置阈值的时间间隔和日志文件中的最大行数:

    [mountpoint / change / date/time / used]
    
    / . . . . . . . . . . . . . . . . . .            36 k       Fri Mar 27 08:17:30 2015    used 87989352 k
    /media/intern_2 . . . . . . . . . . .         -1792 k       Fri Mar 27 08:17:32 2015    used 562649592 k
    / . . . . . . . . . . . . . . . . . .            -4 k       Fri Mar 27 08:17:39 2015    used 87989356 k
    / . . . . . . . . . . . . . . . . . .           -36 k       Fri Mar 27 08:17:43 2015    used 87989392 k
    / . . . . . . . . . . . . . . . . . .            -4 k       Fri Mar 27 08:17:55 2015    used 87989396 k
    / . . . . . . . . . . . . . . . . . .             4 k       Fri Mar 27 08:18:11 2015    used 87989392 k
    / . . . . . . . . . . . . . . . . . .           -32 k       Fri Mar 27 08:18:13 2015    used 87989424 k
    
    Run Code Online (Sandbox Code Playgroud)
    • 运行interval磁盘空间检查,按原样,20 秒
    • treshold您可能不想记录所有(非常)小的更改,因为磁盘的可用磁盘空间有很多小的更改。事实上,它被设置为10k
    • max_lines因为日志文件会快速增长,特别是如果您将阈值设置为零
  3. 使用以下命令测试运行脚本:

    python3 /path/to/log_diskusage.py
    
    Run Code Online (Sandbox Code Playgroud)
  4. 如果一切正常,请将其添加到您的启动应用程序中:Dash > 启动应用程序 > 添加。

剧本

#--- set time interval in seconds, threshold in k, and the max number of lines in the logfile
interval = 20        # the interval between the checks
threshold = 0        # in K, you'd probably set this higher
max_lines = 5000     # if you want no limit, comment out the line line_limit() in the script
#---
Run Code Online (Sandbox Code Playgroud)