2016-10-27 5 views
1

ネットワークまたはディスクに障害が発生した場合にインデックスバックアップを実行し、同じまたは異なるサーバーでESをリカバリする方法。私たちはスナップショットオプションを使用してそれを実装するための他のオプションがあり、毎週バックアップを実行する必要があります、kinldyヘルプ弾性サーチインデックスのバックアップオプション

答えて

1

私の会社ではcurlを使用してシェルスクリプトを実行するcrontabを使用します。毎晩Snapshot APIを使用しています。このクラスタのESがposterior versionであっても、バックアップを別のクラスタにリストアすることができます。

すべてのファイルは、端末でcrontabランを作成するにはCloud AWS Plugin

  • を通じてアマゾンS3に行く:viまたはnano

crontab -e

  • は、時にこの行を追加します。あなたが毎日午前5時にそれを実行することを望むと仮定して、終了:

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

その後snapshotシェルスクリプトを作成する場所の上に指定:このスクリプトは、ログを作成すること

#!/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" 
+0

はどのようにあなたにも – user3351014

+0

がちょうど編集したあなたのサンプル例を投稿してくださいすることができますcurlコマンドでcrontabを使用しますいくつかの詳細@ user3351014 –

+0

スナップショットの完了に要した時間を特定する方法は?スナップショットは検索のパフォーマンスに影響しますか? – user3351014