温馨提示×

Swagger在Linux如何备份

小樊
36
2026-07-10 13:34:00
栏目: 智能运维

Swagger 本身只是一个 API 文档规范/工具,没有“单独的备份命令”。
如何备份,取决于你用的是什么 Swagger 相关组件

下面按常见场景给你一套在 Linux 上最实用的备份方案


一、最常见:备份 Swagger API 文档(JSON / YAML)

1️⃣ 找到 Swagger 文档位置

常见路径:

ls /var/www/html/swagger
ls /usr/share/nginx/html
ls /opt/app/swagger

或接口地址:

http://ip:port/v2/api-docs
http://ip:port/v3/api-docs

2️⃣ 直接备份 swagger.json / swagger.yaml

cp swagger.json swagger.json.bak
# 或
cp swagger.yaml swagger.yaml.bak

推荐备份方式(带日期)

cp swagger.json swagger.json.$(date +%F).bak

3️⃣ 通过 API 接口备份(更准确)

curl http://localhost:8080/v2/api-docs -o swagger_backup.json

或(OpenAPI 3):

curl http://localhost:8080/v3/api-docs -o swagger_backup.json

二、Swagger UI 的备份(前端页面)

如果你部署了 Swagger UI:

备份 Swagger UI 目录

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

或:

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

三、Spring Boot 项目中的 Swagger 备份

1️⃣ 备份接口文档(推荐)

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

2️⃣ 备份源码(含注解)

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

✅ Swagger 注解写在代码里,源码就是真正的“备份”。


四、Docker 中 Swagger 的备份

查看容器

docker ps

从容器中拷贝

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

或导出镜像:

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

五、自动化备份(生产推荐)

定时备份脚本

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

curl -s http://localhost:8080/v2/api-docs -o $BACKUP_DIR/swagger-$(date +%F).json

find $BACKUP_DIR -mtime +30 -delete

加入定时任务:

crontab -e
0 2 * * * /opt/backup-swagger.sh

六、总结(快速对照表)

场景 备份内容
仅接口文档 swagger.json / yaml
Swagger UI UI 目录
Spring Boot 源码 + json
Docker 容器文件 / 镜像
生产环境 定时脚本

如果你愿意,可以告诉我:

  • ✅ 是否 Spring Boot / Docker / Nginx
  • ✅ Swagger 版本(2.x 还是 3.x)
  • ✅ 是 接口文档 还是 UI 页面

我可以直接给你一条 适合你环境的备份命令

0