在 Linux 环境下“备份 Swagger”通常指以下几种情况之一,你可以对照看看具体是哪一种,我再给你更精确的方案。
如果你是通过 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
✅ 适合:
#!/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 目录
/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(Spring Boot 等):
git push
或本地备份:
tar czf api-src-$(date +%F).tar.gz /project/api/
✅ 最推荐方式:Git 管理 + Tag
docker cp swagger-ui:/usr/share/nginx/html ./swagger-ui-backup
docker commit swagger-ui swagger-ui-backup
docker save swagger-ui-backup > swagger-ui-backup.tar
如果 Swagger 数据是存数据库的:
mysqldump -u root -p api_db > api_db.sql
✅ 最佳实践
swagger.jsonGittar / rsynccron你可以告诉我:
1️⃣ 使用的是 Spring Boot / Node / FastAPI / Nginx?
2️⃣ Swagger 是 UI 还是 JSON 文档?
3️⃣ 是否是 Docker / 物理机 / 云服务器?
我可以直接给你一套 可执行的备份脚本 ✅