如何确认Solr是否从命令行运行?

时间:2015-03-04 04:07:48

标签: command-line solr

我们有一些服务器即将重新启动,我可能需要手动重启Apache Solr。

如何验证(从命令行)Solr正在运行?

2 个答案:

答案 0 :(得分:4)

正确的方法是使用Solr的STATUS命令。您可以解析其XML响应,但只要它以HTTP状态 200 返回给您,就应该可以安全地假设它正在运行。您可以使用curl执行HTTP HEAD请求:

curl -s -o /dev/null -I -w '%{http_code}' http://example.com:8983/solr/admin/cores?action=STATUS
  • 注意:此外,您可以在命令中添加-m <seconds>,只需等待以获得响应。

这将向Solr管理界面发出请求,并打印出成功的200,可以从bash脚本中使用,例如:

RESULT=$(curl -s -o /dev/null -I -w '%{http_code}' http://example.com:8983/solr/admin/cores?action=STATUS)
if [ "$RESULT" -eq '200' ]; then
    # Solr is running...
else
    # Solr is not running...
fi

答案 1 :(得分:0)

如果您在运行Solr的同一台计算机上,那么这是我的最爱:

$> solr status