文章目录前言Elasticsearch 数据备份完整指南一、环境信息二、配置步骤已完成1. 修改 ES 配置2. 设置目录权限3. 注册快照仓库4. 验证仓库三、手动创建快照备份所有 bztc_cloud_* 开头的索引推荐备份指定索引等待备份完成四、设置每天凌晨1点自动备份策略说明自动备份生成的文件命名规则五、常用管理命令查看操作手动操作六、恢复数据恢复所有备份的索引恢复指定索引恢复到临时索引用于查看内容查看恢复后的数据删除临时索引七、查看备份文件八、重要概念说明1. 增量备份2. 快照保留策略3. 恢复时选择哪个快照4. 查看快照包含的内容九、添加新索引到备份十、验证备份成功十一、注意事项总结前言es数据备份Elasticsearch 数据备份完整指南根据我们的实际操作以下是你成功配置的 ES 单节点备份方案。一、环境信息项目值ES 节点 IP192.168.0.110ES 版本9.2.6集群名称bztc-elasticsearch备份目录/home/elasticsearch/es-back仓库名称es_backup_repo二、配置步骤已完成1. 修改 ES 配置编辑/etc/elasticsearch/elasticsearch.yml添加path.repo:[/home/elasticsearch/es-back]重启 ESsudosystemctl restart elasticsearch2. 设置目录权限sudochown-Relasticsearch:elasticsearch /home/elasticsearch/es-backsudochmod755/home/elasticsearch/es-back3. 注册快照仓库curl-XPUThttp://192.168.0.110:9200/_snapshot/es_backup_repo-HContent-Type: application/json-d { type: fs, settings: { location: /home/elasticsearch/es-back, compress: true } }4. 验证仓库curl-XPOSThttp://192.168.0.110:9200/_snapshot/es_backup_repo/_verify三、手动创建快照备份所有bztc_cloud_*开头的索引推荐curl-XPUThttp://192.168.0.110:9200/_snapshot/es_backup_repo/snapshot_20260423-HContent-Type: application/json-d { indices: bztc_cloud_*, ignore_unavailable: true, include_global_state: false }备份指定索引curl-XPUThttp://192.168.0.110:9200/_snapshot/es_backup_repo/snapshot_20260423-HContent-Type: application/json-d { indices: index1,index2,index3, ignore_unavailable: true, include_global_state: false }等待备份完成加?wait_for_completiontrue参数会等待直到备份完成curl-XPUThttp://192.168.0.110:9200/_snapshot/es_backup_repo/snapshot_20260423?wait_for_completiontrue-HContent-Type: application/json-d { indices: bztc_cloud_*, ignore_unavailable: true, include_global_state: false }四、设置每天凌晨1点自动备份curl-XPUThttp://192.168.0.110:9200/_slm/policy/daily_backup-HContent-Type: application/json-d { schedule: 0 0 1 * * ?, name: daily-backup-{now/d}, repository: es_backup_repo, config: { indices: [bztc_cloud_*], ignore_unavailable: true, include_global_state: false }, retention: { expire_after: 30d, min_count: 7, max_count: 50 } }策略说明参数值含义schedule0 0 1 * * ?每天凌晨1点执行indices[bztc_cloud_*]备份所有以 bztc_cloud_ 开头的索引expire_after30d30天后自动删除min_count7至少保留7个快照max_count50最多保留50个快照自动备份生成的文件命名规则daily-backup-2026.04.23 daily-backup-2026.04.24 daily-backup-2026.04.25 ...五、常用管理命令查看操作# 查看所有快照curl-XGEThttp://192.168.0.110:9200/_snapshot/es_backup_repo/_all# 查看指定快照详情curl-XGEThttp://192.168.0.110:9200/_snapshot/es_backup_repo/snapshot_20260423# 查看自动备份策略curl-XGEThttp://192.168.0.110:9200/_slm/policy/daily_backup# 查看策略执行统计curl-XGEThttp://192.168.0.110:9200/_slm/stats# 查看索引列表curl-XGEThttp://192.168.0.110:9200/_cat/indices?v手动操作# 手动执行自动备份策略测试用curl-XPOSThttp://192.168.0.110:9200/_slm/policy/daily_backup/_execute# 删除快照curl-XDELETEhttp://192.168.0.110:9200/_snapshot/es_backup_repo/snapshot_20260423# 暂停自动备份curl-XPOSThttp://192.168.0.110:9200/_slm/policy/daily_backup/_stop# 恢复自动备份curl-XPOSThttp://192.168.0.110:9200/_slm/policy/daily_backup/_start# 删除备份策略curl-XDELETEhttp://192.168.0.110:9200/_slm/policy/daily_backup六、恢复数据恢复所有备份的索引curl-XPOSThttp://192.168.0.110:9200/_snapshot/es_backup_repo/snapshot_20260423/_restore恢复指定索引curl-XPOSThttp://192.168.0.110:9200/_snapshot/es_backup_repo/snapshot_20260423/_restore-HContent-Type: application/json-d { indices: bztc_cloud_qa_record, ignore_unavailable: true }恢复到临时索引用于查看内容curl-XPOSThttp://192.168.0.110:9200/_snapshot/es_backup_repo/snapshot_20260423/_restore-HContent-Type: application/json-d { indices: bztc_cloud_qa_record, rename_pattern: (.), rename_replacement: restored_$1, include_global_state: false }查看恢复后的数据# 查看文档数量curl-XGEThttp://192.168.0.110:9200/restored_bztc_cloud_qa_record/_count# 查看前10条文档curl-XGEThttp://192.168.0.110:9200/restored_bztc_cloud_qa_record/_search?prettysize10删除临时索引curl-XDELETEhttp://192.168.0.110:9200/restored_bztc_cloud_qa_record七、查看备份文件# 查看备份目录ls-lh/home/elasticsearch/es-back/# 输出示例# index-0 # 索引文件# index.latest # 最新索引指针# indices/ # 各索引的分片目录# meta-xxx.dat # 元数据文件# snap-xxx.dat # 快照数据文件八、重要概念说明1. 增量备份第一次快照全量备份后续快照只备份变化的部分增量恢复时只需最新的快照即可恢复全部数据2. 快照保留策略快照会保留30 天30 天前的快照被自动删除至少保留 7 个最多保留 50 个3. 恢复时选择哪个快照使用最新的快照日期最大的即可恢复全部数据不需要逐个恢复中间的快照但中间的快照不能被删除否则增量链会断4. 查看快照包含的内容快照是物理备份不能直接查看文档内容。需要恢复到临时索引用_searchAPI 查看查看完后删除临时索引九、添加新索引到备份由于使用了通配符bztc_cloud_*任何以bztc_cloud_开头的新索引都会被自动备份无需修改配置。例如以下索引会自动被备份bztc_cloud_user_logbztc_cloud_order_infobztc_cloud_new_feature十、验证备份成功成功标志快照状态为state:SUCCESSshards:{total:N,failed:0,successful:N}备份目录下生成文件实际成功示例{snapshot:{snapshot:snapshot_20260423,state:SUCCESS,shards:{total:6,failed:0,successful:6}}}十一、注意事项_verify接口必须使用POST方法全大写快照命名手动创建用固定名称自动策略用带日期的动态名称恢复时如果索引已存在需要先删除或使用rename_pattern重命名通配符bztc_cloud_*只匹配该前缀的索引不会备份系统索引总结