2016-05-17 58 views
-1

我需要創建一個bash(或python)腳本,該腳本爲我提供了位於不同服務器上的多個數據庫的可用性狀態。我發現我可以使用這個URL「http://marklogic:8002/manage/v2/database/ $ DBNAME /?view = status」來獲得狀態。但我有大約二十個不同的數據庫。當你打開這個鏈接時,它會生成一個帶有數據庫細節的xml。你能告訴我怎樣才能循環所有的鏈接,並grep只有狀態行?或者如果您有任何其他想法,請告知Marklogic從多個服務器中提取數據庫狀態?

回答

0

您可以將dbname保留在文件中,然後使用for循環。

for a in `cat dbname.txt` 
do 
status = `wget -qO- "http://marklogic:8002/manage/v2/database/${a}/?view=status"` 
echo $a, $status 
done 
+0

感謝大家的響應速度快,但是當我嘗試在打開它?瀏覽器每次都要求我輸入密碼如何添加用戶和密碼 – mortos

+0

如果密碼可以作爲參數傳遞,你應該在url中傳遞它,如果它不允許你應該嘗試使用它wget –

+0

將密碼設置爲環境變量(非交互式),或者在腳本啓動時詢問一次(交互式)。我不知道wget,但是使用cURL,您可以使用'--user'和' - -digest'選項來指定摘要認證社區Python API,如上所述,爲你處理所有這些 –