2016-08-22 97 views
0

我需要在服務器上運行一個shell腳本(例如df),比如Client。對這個腳本的調用應該由另一個獨立的rails應用程序完成,比如說Monitor通過REST API進行,並且返回輸出以響應Monitor應用程序。從另一個rails應用程序在一個rails應用程序上運行一個shell腳本

該shell命令應在所有應用服務器實例Client上運行。儘管我正在研究它,但如果有人已經做到這一點,這將非常有幫助。

我需要從Client服務器獲取以下信息Monitor應用:

  1. 磁盤剩餘空間的每個Client服務器實例,每個Client服務器實例上運行
  2. 進程,
  3. 應該能終止無響應的Client實例。

感謝

回答

0

一個簡單的命令可以通過執行:

result = `df -h /` 

不過,這並不fullfill上的客戶端的所有應用服務器實例的要求運行。爲此,您需要獨立調用每個實例。

另一種方式可以從cron作業運行支票,並讓Client調用Monitor。如果cron不適合,您可以在每個客戶端上創建一個ActiveJob,收集數據並致電Monitor

您還應該查找提供所需數據的ruby庫。 例如sys/filesystem可以提供有關磁盤統計信息的數據。

相關問題