我正在嘗試編寫一個程序,通過它我可以獲取我們的服務器之一的磁盤空間利用率詳細信息。 程序會從服務器A執行,並會嘗試獲取服務器B. 的磁盤空間利用率我試圖用java的文件系統庫,但給了我目前唯一的服務器的詳細信息通過Java獲取另一個服務器的磁盤空間詳細信息
誰能幫助我在這裏
我正在嘗試編寫一個程序,通過它我可以獲取我們的服務器之一的磁盤空間利用率詳細信息。 程序會從服務器A執行,並會嘗試獲取服務器B. 的磁盤空間利用率我試圖用java的文件系統庫,但給了我目前唯一的服務器的詳細信息通過Java獲取另一個服務器的磁盤空間詳細信息
誰能幫助我在這裏
要知道目錄的大小,我們可以使用du -sh path_to_directory
命令來獲取目錄的大小。
您可以使用ProcessBuilder
執行該命令。
代碼:
public static void main(String[] args) throws Exception {
Process p = new ProcessBuilder().command("bash","-c","du -s /var/vcap/store").start();
p.waitFor();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s;
while((s = br.readLine()) != null)
{
System.out.println(s);
}
}
輸出:
16G /var/vcap/store
以上16G
意味着store
需要16G
的文件夾。
我希望它有幫助。
這會給我當前運行java文件的服務器。我希望我的代碼在其他服務器'B'上運行時獲取另一個服務器'A'的磁盤細節 –
@RachitMGarg那麼你期望什麼?沒有其他「神奇」的方式從''你的機器''獲得''其他機器''的詳細信息,而無需在其他機器上運行程序''。你可以在''other machine「上運行這個程序,並將輸出保存到一個文件中,並從你的機器發送一個HTTP請求到另一臺機器來獲取數據。你必須運行命令'du'來獲取信息。只需編寫一個bash腳本來運行該命令併發送來自''你的機器''的HTTP請求來接收信息。 – SkrewEverything
所以你想知道服務器上有多少空間? – SkrewEverything
是@SkrewEverything。我想知道在服務器B的var/vcap/store下留下了多少空間 –