在文件名中添加日期的 Curl 命令用于创建弹性搜索快照

在文件名中添加日期的 Curl 命令用于创建弹性搜索快照

我正在使用以下命令创建快照,并将日期附加到文件名,但出现错误,因为快照名称无效,并且必须是小写的。

#!/bin/bash
SNAPSHOT=`date +%Y%m%d-%H%M%S`
curl -XPUT "localhost:9200/_snapshot/my_backup/$SNAPSHOT?wait_for_completion=true"

答案1

您可以使用以下内容:

#!/bin/sh

filename=snapshot
current_time=$(date "+%Y.%m.%d-%H.%M.%S")

filename_ts=$file_name.$current_time

curl -L -o $(filename_ts) "localhost:9200/_snapshot/my_backup/$filename_ts?wait_for_completion=true"

答案2

如果我能猜出你在问什么,那就试试这个。

#!/bin/bash
now=$(date +%Y%m%d-%H%M%S)
curl -XPUT "localhost:9200/_snapshot/my_backup/snapshot_$now?wait_for_completion=true"

有一些卫生方面的编辑,但最重要的一点是添加snapshot_快照名称的前缀,以确保它不是全数字。

答案3

感谢大家的帮助:) 我能够解决疑问。

以下命令有效:

curl -XPUThttp://localhost:9200/_snapshot/IMS/“快照$(日期 +%d%m%y-%H%M%S)” 这会创建名为 snapper31072019-145244 的输出文件。

相关内容