centos swagger如何恢复数据
导读:CentOS 上 Swagger 数据恢复操作指南 一、先确认 Swagger 的数据存放位置 若使用容器化部署(如 Docker),Swagger UI/Editor 的配置与项目文件通常位于容器可写层或挂载卷中,优先检查你的 -v 挂...
CentOS 上 Swagger 数据恢复操作指南
一、先确认 Swagger 的数据存放位置
- 若使用容器化部署(如 Docker),Swagger UI/Editor 的配置与项目文件通常位于容器可写层或挂载卷中,优先检查你的 -v 挂载目录(如 /opt/swagger-data)。
- 若使用 Node.js/npm 全局安装或源码运行,常见目录为 /usr/lib/node_modules/ 或项目目录(如 /opt/my-swagger/)。
- 若使用 YUM/RPM 安装,配置文件可能在 /etc/ 或 /usr/share/ 下的相应目录。
- 若接入了 API 管理后端(如将 OpenAPI/Swagger JSON 存入数据库),需同时确认数据库与静态文件双端位置。
- 不清楚位置时,可在运行中的容器内用 find/grep 搜索常见文件名(如 swagger.json、index.html、config.json):
- docker exec -it < 容器名> sh -c “find / -name ‘swagger.json’ -o -name ‘index.html’ 2> /dev/null”
- grep -R “swagger” /opt /usr/share /etc 2> /dev/null
二、有备份时的最快恢复
- 使用 tar 恢复(适用于打包备份):
- 示例:tar xvf swagger-backup-2025-11-20.tar.gz -C /opt/
- 使用 rsync 恢复(适用于目录对拷):
- 示例:rsync -avz /backup/swagger/ /opt/swagger/
- 容器挂载卷恢复:
- 先停容器:docker stop < 容器名>
- 拷回数据:rsync -avz /backup/swagger/ /opt/swagger/(或你的挂载目录)
- 启动容器:docker start < 容器名>
- 数据库侧恢复(如项目将 OpenAPI 存库):
- MySQL:mysql -u< 用户> -p< 密码> < swagger_dump.sql
- PostgreSQL:psql -U< 用户> -d -f swagger_dump.sql
- 完成后重启承载服务(Nginx/Apache/容器)并访问页面验证。上述 tar/rsync 用法与系统级恢复一致,可按需用于应用目录恢复。
三、无备份时的文件级恢复思路
- 立刻停止对受影响分区的写入(避免覆盖),优先将恢复目标目录或整盘以只读方式挂载(如 mount -o ro /dev/sdX /mnt),再执行恢复操作。
- ext3/ext4 文件系统:
- 安装:sudo yum install extundelete -y
- 恢复单文件:extundelete /dev/sdX --restore-file /path/to/file
- 恢复全部:extundelete /dev/sdX --restore-all
- 分区表/分区丢失或跨分区恢复:
- 安装:sudo yum install testdisk -y
- 运行:sudo testdisk,按向导选择磁盘与分区并执行恢复。
- 恢复文件请落到与源分区不同的磁盘/分区,避免写回原盘导致覆盖。数据恢复成功率与覆盖程度密切相关,越早尝试成功率越高。
四、验证与回滚
- 校验关键文件是否存在且可访问:
- ls -l /opt/swagger/(或你的实际目录)
- 如为静态站点,curl -I http://localhost/ 或打开页面检查资源加载。
- 如接入了数据库,抽样查询记录数或关键文档是否存在:
- MySQL:SELECT COUNT(*) FROM api_docs;
- 建议先在非生产环境演练恢复流程,确认无误再在线上执行;重要变更前先做一次新备份,以便回滚。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos swagger如何恢复数据
本文地址: https://pptw.com/jishu/756635.html
