這是我用來導出一些文件elasticsearch劇本,但沒有運氣無法發送大文件使用捲曲elasticsearch:參數過長
#!/bin/ksh
set -v
trap read debug
date=$(date +%Y-%m-%d);
echo $date;
config_file="/home/p.sshanm/reports_elastic.cfg";
echo $config_file;
URL="http://p-acqpes-app01.wirecard.sys:9200/reports-"$date"";
echo $URL;
find /transfers/documents/*/done/ -type f -name "ABC-Record*_${date}*.csv"|
while IFS='' read -r -d '' filename
do
echo "filename : ${filename}"
var=$(base64 "$filename"| perl -pe 's/\n//g');
#if i use below it will fail as argument too long , so i used with curl option @
# var1= $(curl -XPUT 'http://localhost:9200/reports-'$date'/document/reports?pipeline=attachment&pretty' -d' { "data" : "'$var'" }')
var1=$(curl -X PUT -H "Content-Type: application/json" -d @- "$URL" >>CURLDATA
{ "data": "$var" }
CURL_DATA)
done;
如果我使用它下面的
var1= $(curl -XPUT 'http://localhost:9200/reports-'$date'/document/reports?pipeline=attachment&pretty' -d' { "data" : "'$var'" }')
將如下失敗,所以我用捲曲選項@
說法太長時間使用
你可以嘗試添加周圍'URL'雙引號作爲'捲曲-XPUT的 「http://本地主機:9200/$報告 - 日期/文件/報表管道=附件及漂亮」 -d「{「數據「: 」 ' 「是$ var」'「}'' – Inian
捲曲:在/ usr/bin中/捲曲:不能執行[參數列表太長] – codebeginner
使用'@'選項工作了什麼?使用它的任何問題? – Inian