我想建立一个平台来获取多个服务器的磁盘空间。 我怎么能这样做?
$df = disk_free_space("/");
我希望在我的所有服务器上执行这行代码
答案 0 :(得分:1)
仅使用php并不容易或者不可能,我认为最好的解决方案是向服务器发送一个返回磁盘空间使用情况的请求。
答案 1 :(得分:1)
一种方法是使用PHP的ssh2_XXX
函数登录每个服务器并运行df /
。
另一种方法是在每个运行disk_free_space('/')
的服务器上创建一个网页,并回显结果。然后,您可以使用file_get_contents("http://servername/disk_free.php")
查询每个服务器。
答案 2 :(得分:0)
有很多方法可以做到这一点。 Curl是一个选项,您可以在每个服务器上使用cron,它在特定时间运行并将值更新到Web服务器,或者您可以使用ssh来获取相同的信息。
答案 3 :(得分:0)
在每台服务器上,您可以插入一个返回空闲空间的页面:
GetFreeSpace.php
<?php
echo disk_free_space("/");
您可以使用cURL查询多个服务器
<?php
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'http://server1.com/GetFreeSpace.php',
CURLOPT_RETURNTRANSFER => true
));
echo curl_exec($ch);