如果网络或磁盘中的任何故障读取,如何在相同或不同的服务器中执行索引备份和恢复ES。我们通过快照选项是否有任何其他选项可用于实现它我们需要每周和每天执行备份,kinldy帮助我们
答案 0 :(得分:1)
在我的公司,我们使用crontab每晚使用Snapshot API运行shell脚本(使用curl
)。请注意,您可以在其他群集上还原备份,即使此群集具有posterior version ES。
所有文件都通过Cloud AWS Plugin
转到Amazon S3crontab
次运行: crontab -e
vi
或nano
,在最后添加此行,假设您希望每天早上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"