温馨提示×

怎么备份Linux Swagger数据

小樊
41
2026-07-22 04:13:54
栏目: 智能运维

在 Linux 上“备份 Swagger 数据”要分场景来看,Swagger 本身只是一个接口文档规范/工具,其“数据”通常指以下几类之一。下面按常见情况给你一套可操作的备份方案。


一、先明确你要备份的是什么

✅ 常见 3 类 Swagger 数据

类型 说明 备份方式
Swagger / OpenAPI 描述文件 swagger.json / openapi.yaml 直接文件备份
Swagger Editor / UI 配置 页面配置、本地存储 配置文件 + 浏览器数据
Swagger 相关服务数据 如 SwaggerHub、API 管理平台 导出 + 数据库备份

二、备份 Swagger API 描述文件(最常见)

1️⃣ 找到 Swagger 文件

通常在以下位置之一:

/usr/share/nginx/html/swagger.json
/var/www/html/openapi.yaml
/opt/app/api-docs/

或接口直接返回:

curl http://localhost:8080/v2/api-docs > swagger.json

2️⃣ 备份文件(推荐方式)

✅ 本地备份

cp swagger.json /backup/swagger_$(date +%F).json

✅ 远程备份(scp)

scp swagger.json user@backup-server:/data/backup/

✅ 打包多个服务

tar czf swagger_backup_$(date +%F).tar.gz /opt/api-docs/

三、备份 Swagger Editor / UI 数据

情况 1:Swagger Editor(本地)

Swagger Editor 可能使用浏览器 localStorage 保存编辑内容。

备份方式

  • 手动导出:
    File → Save as YAML / JSON
    
  • 或备份浏览器数据(不推荐,复杂)

最佳实践:定期导出 YAML/JSON 文件


情况 2:Docker 部署的 Swagger

查看容器

docker ps

备份挂载目录

docker cp swagger-container:/usr/share/nginx/html ./swagger_backup

或提前挂载:

-v /data/swagger:/usr/share/nginx/html

四、备份 Swagger 相关服务(如 SwaggerHub / 自研平台)

1️⃣ SwaggerHub(官方平台)

  • 登录 SwaggerHub
  • Export API → JSON / YAML
  • 企业版支持 API 批量导出

2️⃣ 自研 API 管理平台

通常涉及:

  • 数据库(MySQL / MongoDB)
  • 文件存储

数据库备份示例

mysqldump -u root api_db > api_db_$(date +%F).sql

五、自动化备份(推荐)

示例:定时备份脚本

#!/bin/bash
BACKUP_DIR=/data/backup/swagger
mkdir -p $BACKUP_DIR

cp /opt/api-docs/openapi.yaml $BACKUP_DIR/openapi_$(date +%F).yaml
chmod +x backup_swagger.sh
crontab -e
0 2 * * * /opt/scripts/backup_swagger.sh

六、恢复 Swagger 数据

cp /backup/openapi_2026-01-21.yaml /opt/api-docs/openapi.yaml

或重新导入 Swagger Editor / API 网关。


七、快速判断你该用哪种方式

✅ 如果你只是:

  • 看接口文档 → 备份 JSON/YAML
  • 用 Docker → 备份挂载目录
  • 用 SwaggerHub → 导出 API
  • 公司平台 → 文件 + 数据库

八、我可以更精确帮你

你可以直接告诉我:

  1. Swagger 是 Editor / UI / Hub / 自研?
  2. 是否用 Docker?
  3. 数据在 文件 / 数据库 / 接口?
  4. 用的是 Swagger 2 还是 OpenAPI 3?

我可以给你完全针对你环境的备份方案

0