在 Linux 上“备份 Swagger 数据”要分场景来看,Swagger 本身只是一个接口文档规范/工具,其“数据”通常指以下几类之一。下面按常见情况给你一套可操作的备份方案。
| 类型 | 说明 | 备份方式 |
|---|---|---|
| Swagger / OpenAPI 描述文件 | swagger.json / openapi.yaml |
直接文件备份 |
| Swagger Editor / UI 配置 | 页面配置、本地存储 | 配置文件 + 浏览器数据 |
| Swagger 相关服务数据 | 如 SwaggerHub、API 管理平台 | 导出 + 数据库备份 |
通常在以下位置之一:
/usr/share/nginx/html/swagger.json
/var/www/html/openapi.yaml
/opt/app/api-docs/
或接口直接返回:
curl http://localhost:8080/v2/api-docs > swagger.json
cp swagger.json /backup/swagger_$(date +%F).json
scp swagger.json user@backup-server:/data/backup/
tar czf swagger_backup_$(date +%F).tar.gz /opt/api-docs/
Swagger Editor 可能使用浏览器 localStorage 保存编辑内容。
File → Save as YAML / JSON
✅ 最佳实践:定期导出 YAML/JSON 文件
docker ps
docker cp swagger-container:/usr/share/nginx/html ./swagger_backup
或提前挂载:
-v /data/swagger:/usr/share/nginx/html
通常涉及:
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
cp /backup/openapi_2026-01-21.yaml /opt/api-docs/openapi.yaml
或重新导入 Swagger Editor / API 网关。
✅ 如果你只是:
你可以直接告诉我:
我可以给你完全针对你环境的备份方案。