PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP disk_total_space不会测量LVM分区大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 PHP脚本,需要检查磁盘的总大小.我已经成功使用disk_@R_68_10586@l_space一段时间了,刚刚转移到使用LVM的新服务器. disk_@R_68_10586@l_space现在报告完全不同的大小.我在第二台LVM服务器上重新创建了这个.

第一台服务器上的df -h(CentOS 6.4,PHP v5.3.27)显示

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/vg-vg_root    99G   47G   47G  50% /
tmpfs                     32G     0   32G   0% /dev/shm
/dev/sda1                194M   65M  120M  36% /boot
/dev/mapper/vg-vg_BACkup 400G   33M  400G   1% /var/tmp
/dev/mapper/vg-vg_MysqL  950G   81G  870G   9% /data

但disk_@R_68_10586@l_space(‘/ dev / mapper / vg-vg_MysqL’)返回32G.实际上,它返回32G我在命令中输入的任何分区.

在第二台服务器(Ubuntu 10.04.4LTS,PHP v5.3.6)上,我得到了同样的行为:

Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/batty-root  258G  217G   29G  89% /
none                    4.0G  208K  4.0G   1% /dev
none                    4.0G     0  4.0G   0% /dev/shm
none                    4.0G   88K  4.0G   1% /var/run
none                    4.0G     0  4.0G   0% /var/lock
none                    4.0G     0  4.0G   0% /lib/init/rw
none                    258G  217G   29G  89% /var/lib/ureadahead/debugfs

和disk_@R_68_10586@l_space(‘/ dev / mapper / batty-root’)返回4G.

在这两种情况下,它似乎都返回了LVM未处理的磁盘空间量.有没有办法使用PHP获取LVM分区的总大小?

@H_607_16@
我有一个类似的问题……我需要从PHP脚本中获取LVM逻辑卷上的总空间和已用空间…

我写了一个丑陋的小函数,它返回一个带有来自df的文件系统数据的多维数组…

每个数组包含:

>文件系统
> Mount Point
>总空间
>旧空间

就像我说的那样,它很难看,但它有效……

function disk_space()
{
    $cmd    = 'df -P | gawk \'{ printf "%s\t%s\t%s\t%s\n",$1,$6,$2,$3 }\'';
    $data   = trim(sHell_exec($cmd));

    $return = array();
    $lines  = explode("\n",$data);
    unset($lines[0]);

    foreach($lines as $linE){
        $return[] = explode("\t",$linE);
    }

    return $return;
}

大佬总结

以上是大佬教程为你收集整理的PHP disk_total_space不会测量LVM分区大小全部内容,希望文章能够帮你解决PHP disk_total_space不会测量LVM分区大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。