Skip to content

Instantly share code, notes, and snippets.

@mdjaman
Forked from karussell/backup.sh
Created August 18, 2016 21:11
Show Gist options
  • Select an option

  • Save mdjaman/dc41e5a4b3f62c4f88627d9a4a963a44 to your computer and use it in GitHub Desktop.

Select an option

Save mdjaman/dc41e5a4b3f62c4f88627d9a4a963a44 to your computer and use it in GitHub Desktop.
Backup ElasticSearch with rsync
# TO_FOLDER=/something
# FROM=/your-es-installation
DATE=`date +%Y-%m-%d_%H-%M`
TO=$TO_FOLDER/$DATE/
echo "rsync from $FROM to $TO"
# the first times rsync can take a bit long - do not disable flusing
rsync -a $FROM $TO
# now disable flushing and do one manual flushing
$SCRIPTS/es-flush-disable.sh true
$SCRIPTS/es-flush.sh
# ... and sync again
rsync -a $FROM $TO
$SCRIPTS/es-flush-disable.sh false
# now remove too old backups
rm -rf `find $TO_FOLDER -maxdepth 1 -mtime +7` &> /dev/null
# true or false
DISABLE=$1
curl -XPUT 'localhost:9200/_settings' -d '{
"index" : {
"translog.disable_flush" : "'$DISABLE'"
}
}'
curl -XPOST 'localhost:9200/_flush'
curl -XGET 'localhost:9200/_settings?pretty=true'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment