centos swagger如何备份数据
导读:CentOS上备份Swagger数据的实用方案 一、先明确备份对象与存放位置 Swagger UI 静态站点:前端文件通常位于**/var/www/html**(Nginx/Apache 部署)或你自定义目录;如使用容器,多为挂载卷(如*...
CentOS上备份Swagger数据的实用方案
一、先明确备份对象与存放位置
- Swagger UI 静态站点:前端文件通常位于**/var/www/html**(Nginx/Apache 部署)或你自定义目录;如使用容器,多为挂载卷(如**/usr/share/nginx/html**)。备份这些静态文件即可还原文档页面与自定义主题。
- Swagger Editor 项目:如果你在服务器上运行 Editor(Node.js 服务或容器),需备份其项目目录/配置与(如有)持久化卷。
- 托管在后端服务中的 OpenAPI 规范:很多项目把 OpenAPI/Swagger JSON/YAML 放在后端代码仓库或配置中心,这类“数据”应随代码/配置一起纳入备份与版本控制。
- 浏览器端本地数据:若你在 UI 中做了登录态、偏好等个性化设置,这些只存在于浏览器 localStorage/sessionStorage/IndexedDB,不属于服务器可备份范畴,需要手动导出或避免依赖。
二、服务器侧备份方案(适用于 Swagger UI/Editor 与静态规范文件)
- 全量打包备份(通用且简单)
- 创建备份目录:
mkdir -p /backup/swagger - 打包:
tar -czvf /backup/swagger/swagger-backup-$(date +%F).tar.gz /var/www/html /opt/swagger-editor /path/to/openapi - 校验:
ls -lh /backup/swagger/,并可用tar -tzf查看内容清单。
- 创建备份目录:
- 增量与远程同步
- rsync 增量:
rsync -avz --delete /var/www/html/ user@backup-host:/backup/swagger/html/ - 远程拷贝:
scp /backup/swagger/*.tar.gz user@backup-host:/backup/
- rsync 增量:
- Docker 容器备份(推荐做法)
- 备份容器挂载卷:
docker run --rm --volumes-from swagger-ui -v $(pwd):/backup alpine tar czf /backup/swagger-ui-backup-$(date +%Y%m%d).tar.gz /usr/share/nginx/html - 如需备份容器内配置,可在同命令中追加对应路径。
- 备份容器挂载卷:
- 自动化与保留策略
- 示例脚本(全量+日志+保留7天):
#!/usr/bin/env bash set -e BACKUP_DIR=/backup/swagger DATE=$(date +%F) SRC="/var/www/html /opt/swagger-editor /path/to/openapi" mkdir -p "$BACKUP_DIR" tar -czvf "$BACKUP_DIR/swagger-$DATE.tar.gz" $SRC find "$BACKUP_DIR" -name "swagger-*.tar.gz" -mtime +7 -delete echo "$(date) Backup $BACKUP_DIR/swagger-$DATE.tar.gz completed." > > "$BACKUP_DIR/backup.log" - 定时任务(每天02:00):
0 2 * * * /usr/bin/bash /usr/local/bin/backup-swagger.sh
以上命令基于 tar/rsync/cron 的常用用法,适用于 CentOS 环境的日常备份与远程复制。
- 示例脚本(全量+日志+保留7天):
三、恢复步骤
- 静态站点/容器卷恢复
- 解压覆盖:
tar -xzvf /backup/swagger/swagger-backup-2025-11-26.tar.gz -C / - Docker:先停容器,清理旧卷后恢复,再启动
docker stop swagger-ui docker run --rm --volumes-from swagger-ui -v $(pwd):/backup alpine tar xzf /backup/swagger-ui-backup-2025-11-26.tar.gz -C / docker start swagger-ui
- 解压覆盖:
- 验证
- 访问 http://服务器IP/ 检查页面与资源是否完整;如包含 OAuth2 或自定义插件,逐项验证配置是否生效。
四、最佳实践与安全建议
- 定期备份计划:建议每日增量、每周全量、月度归档;对大型文档启用压缩与差分策略,缩短窗口并节省存储。
- 加密与访问控制:备份文件使用AES-256加密,存放到安全存储并设置最小权限;必要时启用传输加密(如 SFTP/TLS)。
- 监控与演练:为备份任务配置执行监控与失败告警,并定期做恢复演练(如每季度一次),记录恢复时间与问题,持续优化流程。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos swagger如何备份数据
本文地址: https://pptw.com/jishu/756636.html
