首页主机资讯centos swagger如何备份

centos swagger如何备份

时间2025-12-20 02:48:03发布访客分类主机资讯浏览803
导读: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 公钥登录)
    # 生成密钥(仅首次)
    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 -delete
    
    赋权并加入定时任务(每天 02:00 执行):
    chmod +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
centos swagger如何迁移 centos如何安装网卡驱动

游客 回复需填写必要信息