首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种编程方法来确定Linux服务器上的空闲磁盘空间?

是否有一种编程方法来确定Linux服务器上的空闲磁盘空间?
EN

Server Fault用户
提问于 2013-07-31 21:07:15
回答 1查看 1.1K关注 0票数 1

我有一组Linux服务器,每个服务器都有一个带有/tmp目录的本地硬盘驱动器。有时,服务器上的/tmp目录会被填满并导致错误。我想自动化检查每个本地驱动器上的空闲空间的过程,以便在/tmp引起问题之前进行清理。是否有一种优雅的编程方法来确定Linux上磁盘上的空闲空间数量?我知道“经典”的答案是

代码语言:javascript
复制
df -h

在每个服务器上(可能使用一个(分布式shell工具(如dsh ))并编写一个脚本来解析输出。许多这样的脚本可以在网上找到。。我正在寻找一种更优雅的解决方案,比如返回结构化数据的较新的磁盘实用程序,或者隐藏在/proc文件系统中的一些信息。

EN

回答 1

Server Fault用户

发布于 2013-07-31 22:25:50

DU命令使用状态函数从挂载的文件系统收集数据。安装文件系统似乎是通过查看mtab文件来确定的。

代码语言:javascript
复制
# strace du /
...
open("/etc/mtab", O_RDONLY|O_CLOEXEC)   = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=793, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6fdd497000
read(3, "/dev/mapper/vg-root / ext"..., 4096) = 793
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7f6fdd497000, 4096)            = 0
stat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
statfs("/", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=118071114, f_bfree=115631354, f_bavail=109633684, f_files=29990912, f_ffree=29574660, f_fsid={-611634627, -1860045897}, f_namelen=255, f_frsize=4096}) = 0
...

因此,如果您想连接细节,您可以快速地黑出一个调用statfs/statvfs的python (或其他什么)脚本,然后以您喜欢的任何格式提供信息。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/527760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档