shell通过curl发送get请求,做一些很烦琐的事

概述

最近负债公司的搜索项目,索引部署采用主从模式,如果solr的core很多的话,第一次索引同步的时候,需要点击solr管理页replication项内的"replicate now" 按钮,真的很烦... ...

所以,想了一个法子解决这种情况,使用curl命令发送get请求。

步骤

1,安装curl软件,使用sudo apt-get install curl安装,当然如果已经安装就不必再浪费感情了.

2,编写shell脚本如下:

#!/bin/bash
if [ $# == 2 ]; then
  declare -a cores
  cores=("aaa" "bbb" "ccc" "ddd" "eee" "fff" "ggg" "hhh" "iii" "kkk" "ooo" "ppp")
  length=${#cores[@]}
  #log="replicate.info"
  #echo "" > $log
  for ((i=0; i<$length; i++))
  do
    echo "replicate ${cores[$i]} index ... ..."
    curl -s -o /dev/null "http://$1:$2/solr/${cores[$i]}/replication?command=fetchindex"
    #echo "------------------------------------------${cores[$i]}-------------------------------------" >> $log
    #echo `curl -s "http://$1:$2/solr/${cores[$i]}/replication?command=fetchindex"` >> $log
    #echo `curl -s "http://$1:$2/solr/${cores[$i]}/admin/replication/index.jsp?replicate=now"` >> $log
  done
else
  echo "请输入参数:[ip] [port]"
fi
exit 0

结果

好了,任务完成,测试也成功,感觉真好... ...

原文地址:https://www.cnblogs.com/natgeo/p/3099056.html