通过 maintainDB 命令行工具创建备份
TeamCity .tar.gz 和 .exe 分发包提供了位于 <TeamCity Home>/bin 目录中的 maintainDB.bat|sh 实用工具。 此命令行工具使您可以备份服务器数据, 恢复它 ,并且 在不同的数据库之间迁移。 您也可以使用 UI 备份数据。
在您备份之前
在备份数据之前,建议关闭 TeamCity 服务器以将所有构建包含到备份中。 如果在 TeamCity 服务器运行并启动备份过程时,正在运行和排队的构建不会被包含在备份中。
备份文件位置和格式
备份文件的默认目录是 <TeamCity 数据目录>\备份。
备份文件名的默认格式为 TeamCity_Backup_<timestamp>.zip ;在 YYYYMMDD_HHMMSS 格式中添加了 <timestamp> 后缀。
使用 maintainDB 实用程序执行 TeamCity 数据备份
这一部分描述了一些 maintainDB 选项。 要获得所有可用选项的完整列表,请在命令行中不带任何参数运行 maintainDB。
创建数据备份文件 ,从命令行启动 maintainDB 实用工具,并使用 backup 命令:
TeamCity 数据备份有 一些限制。 默认情况下,如果您运行 maintainDB 实用程序而不带任何可选参数,只有数据库、服务器设置、项目和构建配置、插件和补充数据(设置历史、触发器状态、插件数据等)会被备份,而构建日志和个人更改则会被省略。
配置备份范围
要配置备份文件中所包含数据的范围,请使用以下选项:
-C或--include-config—— 包括构建配置设置-D或--include-database— 包含数据库-L或--include-build-logs— 包括构建日志-P或--include-personal-changes— 包括个人更改-U或--include-supplementary-data— 包含补充的(插件的)数据
通过指定上述选项的不同组合,您可以控制备份文件的内容。 例如,要创建包含所有支持的数据类型的备份,请运行
maintainDB 使用示例以进行数据备份
创建具有自定义名称的备份文件 ,运行 maintainDB 并使用 -F 或 --backup-file 选项,并指定所需的备份文件名(不带扩展名):
执行上述命令将在默认备份目录中创建一个具有指定名称的新 ZIP 文件。
为自定义文件名添加时间戳后缀 ,添加 -M 或 --timestamp-suffix 选项:
在自定义目录中创建备份文件 ,运行 maintainDB 并使用 -F 选项:
maintainDB 启动选项
如果您通过 TEAMCITY_SERVER_OPTS/TEAMCITY_SERVER_MEM_OPTS 环境变量自定义 TeamCity 服务器启动选项,或者使用自定义 JDK 安装来运行服务器,您可能需要运行带有相关选项的 maintainDB 脚本添加到 TEAMCITY_MAINTAINDB_OPTS / TEAMCITY_MAINTAINDB_MEM_OPTS 环境变量并以与 TeamCity 服务器完全相同的环境运行脚本,以便使用相同的 JVM。