Elasticsearch Snapshot Backup on Gentoo Linux
Register filesystem repository
mkdir -p /var/backups/elasticsearch
chown elasticsearch:elasticsearch /var/backups/elasticsearch
elasticsearch.yml: path.repo: ["/var/backups/elasticsearch"]
curl -X PUT "https://localhost:9200/_snapshot/my_backup" \
-u elastic:Pass --cacert /etc/elasticsearch/certs/http_ca.crt \
-H 'Content-Type: application/json' \
-d '{"type":"fs","settings":{"location":"/var/backups/elasticsearch","compress":true}}'
Take a snapshot
curl -X PUT "https://localhost:9200/_snapshot/my_backup/snap_$(date +%F)?wait_for_completion=true" \
-u elastic:Pass --cacert /etc/elasticsearch/certs/http_ca.crt
List snapshots
curl -u elastic:Pass --cacert /etc/elasticsearch/certs/http_ca.crt \
'https://localhost:9200/_snapshot/my_backup/_all?pretty'
Restore
curl -X POST "https://localhost:9200/_snapshot/my_backup/snap_2026-05-07/_restore" \
-u elastic:Pass --cacert /etc/elasticsearch/certs/http_ca.crt \
-H 'Content-Type: application/json' \
-d '{"indices":"my-index"}'