Swagger 本身只是一个 API 文档规范/工具,没有“单独的备份命令”。
如何备份,取决于你用的是什么 Swagger 相关组件。
下面按常见场景给你一套在 Linux 上最实用的备份方案。
常见路径:
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
cp swagger.json swagger.json.bak
# 或
cp swagger.yaml swagger.yaml.bak
✅ 推荐备份方式(带日期)
cp swagger.json swagger.json.$(date +%F).bak
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:
tar czf swagger-ui-$(date +%F).tar.gz /opt/swagger-ui
或:
rsync -av /opt/swagger-ui/ /backup/swagger-ui/
curl http://localhost:8080/v2/api-docs -o swagger.json
tar czf springboot-src-$(date +%F).tar.gz /opt/project
✅ 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 | 容器文件 / 镜像 |
| 生产环境 | 定时脚本 |
如果你愿意,可以告诉我:
我可以直接给你一条 适合你环境的备份命令。