温馨提示×

Linux Swagger怎么备份

小樊
39
2026-08-05 21:54:07
栏目: 智能运维

在 Linux 环境下“备份 Swagger”通常指以下几种情况之一,你可以对照看看具体是哪一种,我再给你更精确的方案。


一、备份 Swagger API 文档(最常见)

1️⃣ 备份 Swagger JSON / YAML 文件

如果你是通过 Swagger Editor / Springfox / springdoc-openapi / FastAPI 等生成的文档:

# 导出 Swagger JSON
curl http://localhost:8080/v3/api-docs > swagger.json

# 或 YAML
curl http://localhost:8080/v3/api-docs.yaml > swagger.yaml

然后备份到安全目录:

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

✅ 适合:

  • 后端 API
  • 自动化文档
  • CI/CD 环境

2️⃣ 定期备份(脚本 + crontab)

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

curl -s http://localhost:8080/v3/api-docs > \
$BACKUP_DIR/swagger-$(date +%F).json
crontab -e
0 2 * * * /opt/scripts/backup-swagger.sh

二、备份 Swagger UI(前端)

如果你在服务器上单独部署了 Swagger UI

# Swagger UI 目录
/opt/swagger-ui/

备份:

tar czf swagger-ui-$(date +%F).tar.gz /opt/swagger-ui

或使用 rsync

rsync -av /opt/swagger-ui/ /data/backup/swagger-ui/

三、备份 Swagger 相关源码(最彻底)

如果是 代码里写注解生成 Swagger(Spring Boot 等):

git push

或本地备份:

tar czf api-src-$(date +%F).tar.gz /project/api/

✅ 最推荐方式:Git 管理 + Tag


四、Docker 环境

1️⃣ 容器导出

docker cp swagger-ui:/usr/share/nginx/html ./swagger-ui-backup

2️⃣ 镜像备份

docker commit swagger-ui swagger-ui-backup
docker save swagger-ui-backup > swagger-ui-backup.tar

五、数据库中的 Swagger(少见)

如果 Swagger 数据是存数据库的:

mysqldump -u root -p api_db > api_db.sql

推荐备份策略(通用)

最佳实践

  • ✔ 文档:swagger.json
  • ✔ 源码:Git
  • ✔ 前端:tar / rsync
  • ✔ 定时:cron
  • ✅ 异地或云存储

我可以更精确地帮你

你可以告诉我:

1️⃣ 使用的是 Spring Boot / Node / FastAPI / Nginx
2️⃣ Swagger 是 UI 还是 JSON 文档
3️⃣ 是否是 Docker / 物理机 / 云服务器

我可以直接给你一套 可执行的备份脚本

0