手动备份和恢复
服务器手动备份
还有其他方法可以创建备份可用。 如果您希望对备份过程进行细粒度控制,或需要为您的 TeamCity 备份使用特定程序,您可以使用此页面上的说明。 手动备份也可能是创建和恢复备份的最高效方式,因为它们可以根据使用的特定基础设施进行定制。
需要备份以下数据:
TeamCity 数据目录备份
TeamCity Data Directory(TeamCity 数据目录)
存储:
服务器设置,项目及其构建配置与其设置(即,所有通过用户界面配置的内容);
除非有其他地方被配置,否则默认构建工件。 构建日志也作为构建工件的一部分被存储;
当前操作文件,内部数据结构等等。
有关目录结构和数据的更多详细信息,请参考 TeamCity Data Directory 部分。
如有必要,您可以从备份中排除目录的某些部分以节省空间:您只会丢失被排除的数据。 您可以放心地从备份中排除 system/caches
目录 - TeamCity 启动时将从头开始重建必要的数据。
如果您决定跳过备份 <TeamCity 数据目录>/system
目录下的数据,请务必记下 工件
、 消息
和 更改
子目录中最新的文件,并保存此信息。 如果您决定使用与数据库状态更新的 TeamCity 数据目录来恢复数据库备份,那么将需要此功能。
<TeamCity 数据目录>/system/buildserver.*
文件存储内部数据库(HSQLDB)的数据。 如果您使用 HSQLDB (默认设置不适合生产使用),那么您需要备份它们。
数据库数据
数据库存储所有关于构建结果的信息(构建历史和所有与构建相关的数据,除了工件和构建日志),VCS 更改,代理,构建队列,用户帐户和用户权限等等。
如果您使用 HSQLDB,内部数据库(默认设置,不推荐用于生产),那么数据库将直接存储在
<TeamCity 数据目录>/system
目录中的文件里。 目录中的所有文件都可以备份。 您也可以参考 HSQLDB 备份说明。如果您使用外部数据库,请使用特定于数据库的工具备份 TeamCity 使用的数据库模式。 对于 TeamCity 使用的外部数据库连接设置,请参阅
<TeamCity Data Directory>/config/database.properties
文件。 您也可以查看 相应的安装部分。
应用程序文件
您无需备份 TeamCity 应用程序目录(仅含网络服务器和网络应用程序),只要您仍然拥有原始的分发包,并且您没有:
将任何自定义库放置于 TeamCity 使用之中
将任何非默认的 TeamCity 插件直接安装到网页应用程序文件中
进行任何启动脚本/配置更改。
如果您觉得需要备份应用程序文件:
如果您使用的是non-war发行版:备份所有
<TeamCity 数据目录>
下的内容,除了temp
和work
目录。如果您使用的是 war 分发版,请按照所使用的 servlet 容器的备份程序进行操作。
日志文件
如果您需要 TeamCity 服务器日志文件(主要用于解决问题或调试目的),请备份 <TeamCity 数据目录>/logs
目录。
手动还原服务器备份
如果您需要恢复使用网页界面或 maintainDB
实用程序创建的备份,请参考 从备份中恢复 TeamCity 数据。 这一部分描述了手动创建备份的恢复过程。
您应始终恢复 <TeamCity 数据目录>
中的数据和数据库中的数据。 数据库和目录都应该同步备份/恢复。
TeamCity 数据目录恢复
您可以简单地将之前备份的文件放回到它们原来的位置。 然而,在恢复备份时,十分重要的是不要存在任何额外的文件。 实现此目标的最简单方法是将备份恢复到一个干净的数据目录中。 如果这不可能,确保在备份完成后创建的文件已被清除。 尤其是在 <TeamCity 数据目录>/system
下的 工件
、 消息
、 更改
目录下新建的文件。
TeamCity 数据库恢复
必须使用特定于数据库的工具和方法来恢复数据库。 您可能还想使用特定于数据库的方法来加快恢复速度(例如将 SQL Server 的 "Recovery Model" 设置为 "Simple")。
在进行恢复之前,请确保 TeamCity 使用的架构中没有额外的表格。
恢复到新服务器
如果您想运行服务器的副本,请确保服务器使用不同的数据目录和数据库。 对于外部数据库,确保您修改 <TeamCity Data Directory>/config/database.properties
文件中的设置,以指向不同的数据库。
恢复构建日志
从 多个工件目录 中备份并恢复到单一目录 system/<project ID>/<build configuration name>/<internal_build_id>/.teamcity/logs
的构建日志位于 /log
的子目录 /artifacts
。