centos swagger如何备份
导读:CentOS 上备份 Swagger 的可执行方案 一 备份对象与存放位置 在 CentOS 上,Swagger 通常由两部分组成:一是用于展示的 Swagger UI 静态文件(HTML/CSS/JS 与自定义配置),二是后端生成的 O...
CentOS 上备份 Swagger 的可执行方案
一 备份对象与存放位置
- 在 CentOS 上,Swagger 通常由两部分组成:一是用于展示的 Swagger UI 静态文件(HTML/CSS/JS 与自定义配置),二是后端生成的 OpenAPI/Swagger 规范文件(如 swagger.json/openapi.json)。常见存放路径示例:
- UI 静态文件:/opt/swagger/swagger-ui/dist/ 或 /var/www/html/swagger/(Nginx/Apache 托管目录)
- 规范文件:/opt/swagger/swagger.json、/var/www/html/swagger/swagger.json
- 若使用 Docker,需备份挂载的配置与数据卷(而非仅容器层)
- 若使用 Node.js/Express 托管 UI,还需备份项目目录(含 index.js、静态资源与依赖)
- 以上路径与部署方式在常见教程与实践中均有体现,可按你的实际目录调整备份命令。
二 本地备份命令示例
- 打包 UI 静态文件与规范文件(按你的实际路径修改)
mkdir -p /backup/swagger/$(date +%F) tar czf /backup/swagger/$(date +%F)/swagger-ui-$(date +%F).tar.gz -C /opt/swagger/swagger-ui/dist . tar czf /backup/swagger/$(date +%F)/swagger-json-$(date +%F).tar.gz /opt/swagger/swagger.json - 使用 rsync 做增量同步(适合频繁备份)
rsync -av --delete /opt/swagger/swagger-ui/dist/ /backup/swagger/latest/swagger-ui/ rsync -av --delete /opt/swagger/swagger.json /backup/swagger/latest/swagger.json - 说明:cp/rsync/tar 是 CentOS 上常用的备份工具;rsync 支持增量、远程同步,适合做持续保护。
三 远程备份与定时任务
- 免密传输到备份服务器(先配置 SSH 公钥登录)
赋权并加入定时任务(每天 02:00 执行):# 生成密钥(仅首次) ssh-keygen -t rsa -b 2048 ssh-copy-id root@192.168.1.32 # 备份脚本 /usr/local/bin/backup_swagger.sh #!/bin/bash BACKUP_DIR="/backup/swagger/$(date +%F)" mkdir -p "$BACKUP_DIR" tar czf "$BACKUP_DIR/swagger-ui-$(date +%F).tar.gz" -C /opt/swagger/swagger-ui/dist . tar czf "$BACKUP_DIR/swagger-json-$(date +%F).tar.gz" /opt/swagger/swagger.json # 传到远端 scp "$BACKUP_DIR"/*.tar.gz root@192.168.1.32:/data/backup/swagger/ # 保留最近 7 天 find /backup/swagger/ -type f -mtime +7 -deletechmod +x /usr/local/bin/backup_swagger.sh crontab -e 0 2 * * * /usr/local/bin/backup_swagger.sh > > /var/log/backup_swagger.log 2> & 1 - 说明:scp/ssh 免密与定时任务结合,可实现无人值守的远程备份;配合 find 做历史清理。
四 Docker 环境的备份
- 备份容器挂载目录(推荐)
tar czf /backup/swagger-ui-$(date +%F).tar.gz -C /opt/swagger-data . - 备份正在运行的容器数据卷(不依赖挂载)
docker run --rm --volumes-from swagger-ui -v $(pwd):/backup alpine \ tar czf /backup/swagger-ui-vol-$(date +%F).tar.gz /usr/share/nginx/html - 恢复时解压到原路径或重建容器挂载即可。
五 恢复与校验
- 本地/远程恢复
# 解压 UI tar xzf swagger-ui-2025-12-19.tar.gz -C /opt/swagger/swagger-ui/dist # 解压规范文件 tar xzf swagger-json-2025-12-19.tar.gz -C /opt/swagger # 重启服务(如使用 systemd) systemctl restart swagger-ui # 或重启容器 docker restart swagger-ui - 校验要点
- 访问 /swagger(或你的 UI 路径),确认页面与接口列表正常加载
- 校验 swagger.json/openapi.json 能被 UI 正确读取(无 404/跨域错误)
- 若使用 Nginx/Apache,确认静态资源与反向代理配置已恢复
- 建议将备份纳入日常运维流程:明确备份对象与频率、选择工具(如 rsync/tar/scp)、设置备份目标(本地/远端)、编写脚本并定时执行、定期做恢复演练与完整性校验。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos swagger如何备份
本文地址: https://pptw.com/jishu/776992.html
