私有化部署项目管理软件升级会丢数据吗?怎么备份

私有化部署项目管理软件升级与数据备份封面图

先说结论:私有化部署项目管理软件升级通常不会主动删除业务数据,禅道项目管理软件也是如此。升级主要做两件事:用新版本程序覆盖旧程序,再通过升级向导执行数据库结构变更。数据库记录和附件文件仍留在原存储位置。

但“不会主动删”不等于“没有风险”。覆盖错目录、数据库连错、附件没备份、容器没挂持久卷、跨版本跳跃或升级中断,都可能让系统看起来像丢了数据。升级前要完成一次可恢复的备份,并准备回滚路径。

私有化部署项目管理软件升级会丢数据吗?先分清程序和数据

数据通常分散在四处:数据库、附件目录、配置文件、二次开发代码。升级只替换程序文件;项目、需求、任务、Bug、用例、文档等记录在数据库里,附件在文件目录里,不会因为覆盖程序而自动消失。

真正的分界点在升级向导。只要页面提示需要执行 SQL,本次升级就包含数据库结构或数据变更。跨大版本、切换管理模式、文档编辑器升级,都可能触发这类变更。数据库会从旧结构迁移到新结构,过程不可逆,必须提前备份。

常见的“像丢数据”场景有:数据库连接配置被覆盖,系统连到空库;只备份程序,没备份数据库和附件;服务未停就复制数据库文件,备份不一致;Docker 升级删了容器,却没复用原数据卷。多数不是升级主动删数据,而是操作路径出了问题。

升级前怎么备份:数据库、附件、配置与代码

一次能回滚的备份,至少包含四部分:

  1. 数据库:用数据库原生工具导出,或使用禅道后台备份。
  2. 附件:完整复制附件上传目录。数据库有记录、文件不在,附件就会打不开。
  3. 配置:备份 config/my.php 等连接配置,记录数据库地址、端口、库名和账号。
  4. 代码:备份整个程序目录,尤其是二次开发文件和自定义主题。

数据库、附件、配置与代码四类备份对象示意图

同时记录当前版本号、部署方式、PHP 与数据库版本。版本号通常在页面右下角或后台首页可以看到。

备份方式有三种:

  • 后台备份:管理员进入后台—系统设置—备份。禅道 18.2 之后入口在系统设置,旧版本在数据—备份。官方文档提示,数据量超过 10 GB 时更适合用命令行。
  • 命令行备份:进入禅道 bin 目录,初始化后执行 backup.sh 或 backup.bat,分别生成数据库和附件备份。
  • 整目录备份:一键安装包停掉服务后打包整个运行目录;源码部署则分别备份数据库、附件目录、配置和程序目录。

日常还可以配合全量、增量与异地备份策略,降低单点故障。

备份完成后不要只看“成功”提示。检查文件大小、解压是否正常,并在测试环境实际恢复一次。没有验证过的备份,只能算副本,不能算恢复能力。

不同部署形态怎么升级:源码包、一键安装包与 Docker

共同原则是:保留原数据目录,只替换程序,再执行升级向导。

源码包部署

  1. 停掉 Web 服务,确认没有用户写入。
  2. 再次确认备份可恢复。
  3. 下载与当前 PHP 版本匹配的源码 zip 包。不要用一键安装包覆盖源码目录。
  4. 解压后把 zentaopms 目录内的文件复制到原 zentao 目录,覆盖同名文件。不要把目录嵌套成 zentao/zentaopms。
  5. 启动服务,访问 /zentao/upgrade.php,按向导选择版本、生成 ok.txt、执行 SQL。过程中不要关闭页面或中断数据库连接。

具体入口和向导以禅道使用手册为准。

一键安装包

先停掉 zbox 或集成面板中的 Apache、MySQL 服务,再备份整个运行目录。随后用对应版本的源码文件覆盖 /opt/zbox/app/zentao,保留 config/my.php 和附件目录,启动服务后访问 upgrade.php。旧环境 PHP 版本过低时,先确认新版本要求,不要在原环境硬升。

Docker 部署

官方文档的步骤是:先通过后台或 backup.sh 备份,停止并删除旧容器,再用新镜像启动,并继续挂载原来的 /data 目录。容器可以重建,数据卷不能删。 数据库在容器外时单独备份;使用 Kubernetes 时,先确认 PVC 的备份或快照可用。

跨多个大版本时,先在测试环境逐级验证。生产环境可原地升级,也可保留旧环境,在新环境完成升级和校验后切换入口。后者回滚成本更低。

升级后怎么校验数据没丢

不要只看首页能不能打开。按下面几项核对:

检查项 怎么查 通过标准
版本号 页面右下角或后台首页 已是目标版本
业务数据 项目、产品、需求、任务、Bug、用例、文档数量 与升级前基线一致
抽样记录 随机打开几条老记录 字段、状态、关联关系正常
附件 下载图片、Office、PDF 各一份 能打开,不是 404 或 0 字节
权限与集成 管理员、项目经理、普通成员分别登录 角色、LDAP、邮件、代码库、定时任务正常

升级前记录一份数据基线,包括各模块数量、几个样本 ID 和附件样本。升级后对照,比凭印象更可靠。校验通过后立刻再做一次完整备份,把可用状态固定下来。

失败后怎么回滚:程序、数据库、附件一起退

出现 SQL 报错、升级中断、附件大面积打不开、关键数据缺失时,先停止写入,不要反复点重试,也不要在生产库上手工改表。

回滚不是把程序换回旧版就够了。新版本可能已经修改数据库结构,旧程序读不了新库。正确顺序是:

  1. 停止服务,保留失败现场,便于排查。
  2. 恢复旧程序目录和配置文件。
  3. 导入升级前的数据库备份。
  4. 恢复升级前的附件目录。
  5. 启动服务,按升级前基线校验。
  6. 确认正常后,再处理失败环境。

Docker 场景同理:只把镜像标签换回旧版,数据库结构仍是新的,未必能启动。必须恢复升级前的数据卷或数据库备份。 回滚方案要在升级前写好,并在测试环境演练一次。

备份、升级、校验与回滚四阶段流程图

一次安全升级的时间线:从 T-7 到 T+1

  • T-7:确认目标版本、升级路径和环境要求,在测试环境完整演练一遍。
  • T-3:记录数据基线,检查备份空间,通知使用团队。
  • T-1:完成全量备份,验证备份可解压、可恢复。
  • T-0:选择业务低峰,停止写入,二次备份,执行升级,按清单校验。
  • T+1:观察登录、附件、定时任务和集成,保留旧环境与备份至少一个稳定周期。

把升级当成一次可回滚的变更,而不是一次点按钮的操作。

常见问题

后台备份够不够?

后台备份能覆盖数据库和附件,适合日常使用。但只要存在二次开发、自定义配置或特殊存储路径,就应同时备份程序目录和配置文件。数据量大时,用命令行备份更稳妥。

升级必须停机吗?

建议在业务低峰停机升级。文件级备份和数据库结构变更都需要一致性,带写入升级会放大失败风险。

信创数据库也按同样命令备份吗?

不一定。达梦、OceanBase 等数据库的备份方式与 MySQL 不同,应使用对应厂商的备份工具,并由 DBA 验证备份一致性。不要直接照搬 mysqldump。

升级后附件打不开,是数据丢了吗?

不一定。先检查附件目录权限、存储路径和配置文件,再核对数据库中的附件记录。不要急着重传或覆盖原文件,避免二次损坏。

私有化部署项目管理软件升级本身不是最大风险,没有备份就动手才是。把数据库、附件、配置和代码备齐,把升级路径在测试环境走通,把校验和回滚写进窗口计划,数据安全才有实际保障。

文章标题 :私有化部署项目管理软件升级会丢数据吗?怎么备份 ,发布者 :项目管理研究院

私有化测试管理平台测试环境怎么管?要准备什么
上一篇 2026年11月03日 09:30
私有云项目管理软件能防勒索病毒吗?怎么防
下一篇 2026年11月03日 09:30

相关推荐

  • 私有化项目管理平台怎么过等保?要准备什么

    围绕私有化项目管理平台的等保定级、备案、整改、测评与复测,拆解平台侧高频扣分点、材料清单、现场取证和供应商选型边界,帮助企业把合规要求落到可执行的配置与记录。

    项目管理研究院  2026年11月03日
  • 私有化部署项目管理工具越用越卡怎么办?怎么优化

    从卡顿症状分流入手,按服务器资源、数据库、附件日志、通知任务、运行时与容量五层排查,给出从备份基线到扩容的回滚顺序和验证指标,帮助中大型研发团队定位私有化部署项目管理工具越用越卡的原因。

    项目管理研究院  2026年11月03日
  • 私有化项目管理系统怎么和 ERP 打通?接口怎么接

    围绕私有化项目管理系统与 ERP 的集成,讲清系统边界、主数据归属、接口选型、私有化鉴权、幂等重试与联调验收,并给出可执行的最小闭环路径。

    项目管理研究院  2026年11月03日
  • 私有云项目管理软件能防勒索病毒吗?怎么防

    私有云项目管理软件不能单独防住勒索病毒,但能通过私有化部署、账号权限、审计日志和可恢复备份降低暴露面与损失。文章拆解勒索病毒的常见入口,给出网络边界、身份、权限、补丁、离线备份、监测响应六个控制点,并

    项目管理研究院  2026年11月03日
  • 私有化部署项目管理软件升级会丢数据吗?怎么备份

    从私有化部署的数据存放边界出发,说明项目管理软件升级何时会触发数据库结构变更,给出数据库、附件、配置与代码的备份方法,以及源码包、一键安装包和 Docker 三种升级路径、升级后校验与一致性回滚步骤。

    项目管理研究院  2026年11月03日