Ada*_*dam 2 scripts disk-usage
我想要一个程序或更佳的方式来记录磁盘使用情况。
为了解释我的意思,当有人安装 Ubuntu 时,大约使用了 4.5 GB 的磁盘。然后,当您安装/卸载程序时,此使用量会增加或减少。
我想要的是一种在发生更改(安装/保存或卸载/删除某些内容)时自动记录 txt 文件中使用的当前磁盘以及发生此更改的时间和日期的方法。
使用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)
log_diskusage.py
在脚本的头部部分,设置阈值的时间间隔和日志文件中的最大行数:
[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
因为日志文件会快速增长,特别是如果您将阈值设置为零使用以下命令测试运行脚本:
python3 /path/to/log_diskusage.py
Run Code Online (Sandbox Code Playgroud)如果一切正常,请将其添加到您的启动应用程序中: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)
归档时间: |
|
查看次数: |
2249 次 |
最近记录: |