Need to migrate your e-mails to a new server? Free and paid versions of our online tool available.
Hero Image

Elasticsearch Snapshot Backup on Debian 12

Elasticsearch Snapshot Backup on Debian 12

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"}'