1
如果在网络或磁盘读取失败时,如何在相同或不同服务器上执行索引备份和恢复ES。我们通过快照选项了有可供执行的任何其他选项,我们需要在每周和每天进行备份,kinldy帮助我们Elasticsearch索引备份选项
如果在网络或磁盘读取失败时,如何在相同或不同服务器上执行索引备份和恢复ES。我们通过快照选项了有可供执行的任何其他选项,我们需要在每周和每天进行备份,kinldy帮助我们Elasticsearch索引备份选项
在我的公司,我们使用运行(使用curl
)一个shell脚本一个crontab每晚使用Snapshot API。请注意,即使此群集有ES的posterior version,也可以在其他群集上恢复备份。
所有文件去亚马逊S3通过Cloud AWS Plugin
crontab
运行: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"
如何使用curl命令crontab中,你可以请发表您的样品例如以及 – user3351014
刚刚编辑与一些更多的细节@ user3351014 –
如何识别快照完成所需的时间?快照会影响搜索性能吗? – user3351014