Elasticsearch索引备份选项

时间:2016-10-27 13:13:33

标签: search elasticsearch indexing

如果网络或磁盘中的任何故障读取,如何在相同或不同的服务器中执行索引备份和恢复ES。我们通过快照选项是否有任何其他选项可用于实现它我们需要每周和每天执行备份,kinldy帮助我们

1 个答案:

答案 0 :(得分:1)

在我的公司,我们使用crontab每晚使用Snapshot API运行shell脚本(使用curl)。请注意,您可以在其他群集上还原备份,即使此群集具有posterior version ES。

所有文件都通过Cloud AWS Plugin

转到Amazon S3
  • 在终端创建crontab次运行:

crontab -e

  • 使用vinano,在最后添加此行,假设您希望每天早上5点运行此行:

5 0 * * * /home/shell_scripts_directory/snapshot.sh

然后在上面指定的位置创建snapshot shell脚本:

#!/bin/bash

NOW="$(date +'%Y-%m-%d')"
S3_REPO="s3"
NODE_IP="192.168.1.80"
COMMAND="http://${NODE_IP}:9200/_snapshot/${S3_REPO}/${NOW}"

RESULT=$(curl -s -XPUT "$COMMAND")
echo "Snapshot from [$NOW] at [$S3_REPO] resulted with $RESULT" >> /tmp/snapshot.log

请注意,此脚本还会创建日志/tmp/snapshot.log

获取有关当前快照任务的信息:

curl -XGET "localhost:9200/_snapshot/_status"

您还可以使用备份标签查看特定任务,即使它当前没有运行:

curl -XGET "localhost:9200/_snapshot/my_backup/snapshot_1/_status"