2016-05-17 73 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,如上所述,为你处理所有这些 –

相关问题