【工具相关】zentao用例管理平台部署实践

一、备份还原

1、数据备份

1.1、前言

禅道系统从10.6版本以后,新增数据备份设置功能,允许管理员可以按自己实际需求来备份指定文件和目录。

  • 定时任务
    访问入口:后台系统定时
    注:默认情况下,每天凌晨00:30定时进行备份任务操作(备份数据和附件),可根据实际情况配置定时任务启动时间

  • 任务列表

小时命令备注最后执行状态操作
300***moduleName=backup&methodName=backup备份数据和附件20-07-07 00:30:07运行中禁用 编辑
  • 备份配置
    访问入口:后台数据备份
    注:默认情况下,每天定时将数据备份到/opt/zbox/app/zentao/tmp/backup/目录下,可根据实际情况配置备份目录和保留时间
1.2、版本备份

当禅道进行数据恢复时,需要搭建相同版本禅道环境(保证网页可正常访问),之后方可进行数据导入恢复操作,此处记录两种版本恢复方法
–官方下载版本:从官方下载相同禅道版本
–人为备份版本:人为手动备份当前禅道版本

  • 官方下载版本

禅道 12.0.stable 版本发布,新增年度总结,将版本库部分功能移植到开源版,修复Bug

示例环境使用禅道12.0 开源版版本环境,Linux一键安装包64位下载地址详见官方下载源

  • 人为备份版本

停止zbox服务进程,对/opt/zbox/整个目录进行全量备份

/opt/zbox/zbox stop
tar zcf /mnt/zbox_system_backup/`date "+%Y-%m-%d"`-zbox.tar /opt/zbox
/opt/zbox/zbox start
1.3、数据备份
  • 预先将备份空间备份到挂载到/mnt/zbox_system_backup/目录下
  • 设置备份目录为/mnt/zbox_system_backup/,备份时间为14

在这里插入图片描述

[root@node40 ~]# ll /mnt/zbox_system_backup/
total 187468
drwxr-xr-x 10 nobody nogroup       160 Oct 26 16:38 202010261638031.code
drwxr-xr-x  5 nobody nogroup        68 Oct 26 16:38 202010261638031.file
-rw-r--r--  1 nobody nogroup  81509397 Oct 26 16:38 202010261638031.sql.php

2、数据恢复

官方提供两种备份方案如下,示例使用方案二
.
禅道后台-备份 备份还原操作步骤:
方案一:
1、搭建相同版本号的禅道,保证网页可以正常访问;
2、拷贝备份文件到新禅道相同目录,分配读写权限;
3、网页登录新禅道 后台-备份 点击还原按钮进行还原。
方案二:
1、搭建相同版本号的禅道,保证网页可以正常访问;
2、将备份文件 sql.php 用文本编辑器打开删除开头的 ,然后重命名去掉.php,然后导入禅道数据库中;
3、将附件文件 file.zip.php 用文本编辑器打开删除开头的 ,然后重命名去掉.php,然后解压放到新禅道 www/data/upload/ 下面。

2.1、版本恢复
[root@node41 ~]# tar -zxvf ZenTaoPMS.12.0.stable.zbox_64.tar.gz -C /opt/
[root@node41 ~]# /opt/zbox/zbox -ap 8001 -mp 3307
[root@node41 ~]# /opt/zbox/zbox start
[root@node41 ~]# lsof -i:8001
[root@node41 ~]# curl -i http://127.0.0.1:8001/zentao/

注:
1、修改apache端口为8001(-ap 8001),修改mysql端口为3307(-mp 3307)
2、禅道环境搭建成功后,检查端口启动及网页是否可以正常访问

2.2、数据恢复

预先将最新的备份文件拷贝到目标禅道系统下

[root@node41 zbox_system_backup]# ll
total 79600
drwxr-xr-x 10 root root      160 Oct 26 17:17 202010261638031.code
drwxr-xr-x  5 root root       68 Oct 26 17:17 202010261638031.file
-rw-r--r--  1 root root 81509397 Oct 26 17:17 202010261638031.sql.php
  • 代码文件恢复

1)、将代码文件覆盖到禅道系统目录下/opt/zbox/app/zentao/

[root@node41 zbox_system_backup]# \cp -rf /mnt/zbox_system_backup/202010261638031.code/* /opt/zbox/app/zentao/
  • 数据库恢复

1)、重命名数据库文件xx.sql.php,去掉.php后缀

 [root@node41 zbox_system_backup]# cp 202010261638031.sql.php 202010261638031.sql

2)、修改数据库文件xx.sql.php,删除第一行信息<?php die();?>

[root@node41 zbox_system_backup]# sed -i -e '/<?php die();?>/d' 202010261638031.sql

3)、导入禅道zentao数据库内

[root@node41 zbox_system_backup]# /opt/zbox/bin/mysql -u root -P 3306 -p zentao < 202010261638031.sql

注:禅道默认用户名为root,默认密码为空或者123456

4)、检查数据库导入情况,默认情况下,禅道数据库文件存放于/opt/zbox/data/mysql/zentao/目录下

[root@node41 ~]# ls -la /opt/zbox/data/mysql/zentao/zt_* | wc -l
198
  • 附件恢复
[root@node41 zbox_system_backup]# \cp -rf  202010261638031.file/* /opt/zbox/app/zentao/www/data/

二、问题处理

本篇主要记录在使用禅道过程中出现的一些问题及对应处理措施

1、ERROR: SQLSTATE[HY000] [2002] Connection refused

在这里插入图片描述

  • **原因分析:**查看mysql服务进程启动端口为3307(mysql.sock --port=3307),但zentao配置文件记录的访问端口却是3308(config->db->port = ‘3308’;),zentao访问mysql端口与实际mysql端口不一致,导致zentao访问失败
[root@node41 ~]# ps -ef | grep mysql
mysql      10606       1  0 Oct10 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql      11419   10606  1 Oct10 ?        06:00:32 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root     2395121       1  0 09:09 pts/0    00:00:00 /bin/sh /opt/zbox/run/mysql/mysqld_safe --defaults-file=/opt/zbox/etc/mysql/my.cnf
nobody   2395367 2395121  0 09:09 pts/0    00:00:01 /opt/zbox/run/mysql/mysqld --defaults-file=/opt/zbox/etc/mysql/my.cnf --basedir=/opt/zbox/run/mysql --datadir=/opt/zbox/data/mysql --plugin-dir=/opt/zbox/run/lib/mysql/plugin --user=nobody --log-error=/opt/zbox/logs/mysql_error.log --pid-file=/opt/zbox/tmp/mysql/mysqld.pid --socket=/opt/zbox/tmp/mysql/mysql.sock --port=3307
root     2423575 2378263  0 09:22 pts/0    00:00:00 grep --color=auto mysql
[root@node41 ~]# cat /opt/zbox/app/zentao/config/my.php 
<?php
$config->installed       = true;
$config->debug           = false;
$config->requestType     = 'PATH_INFO';
$config->db->host        = '127.0.0.1';
$config->db->port        = '3308';
$config->db->name        = 'zentao';
$config->db->user        = 'zentao';
$config->db->password    = '123456';
$config->db->prefix      = 'zt_';
$config->webRoot         = getWebRoot();
$config->default->lang   = 'zh-cn';
  • **处理措施:**修改/opt/zbox/app/zentao/config/my.php配置文件,将zentao访问端口改为3307
    重启zentao服务进程,再次访问可正常访问
[root@node41 ~]# cat /opt/zbox/app/zentao/config/my.php | grep port
$config->db->port        = '3307';
[root@node41 ~]# /opt/zbox/zbox restart
你想了解关于禅道(Zentao)在Docker中的相关信息吗?禅道是一款项目管理和协同工作的工具,它可以通过Docker进行部署和运行。在使用Docker部署禅道之前,你需要确保已经安装了Docker和Docker Compose。 以下是使用Docker部署禅道的一般步骤: 1. 创建一个文件夹用于存储Docker配置文件和数据: ``` mkdir zentao cd zentao ``` 2. 创建一个docker-compose.yml文件,并将以下内容添加到文件中: ```yaml version: '3' services: mysql: image: mysql:5.7 restart: always volumes: - ./mysql:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=your_mysql_root_password - MYSQL_DATABASE=zentao - MYSQL_USER=zentao - MYSQL_PASSWORD=your_zentao_mysql_password zentao: image: easysoft/zentao restart: always volumes: - ./config:/config - ./upload:/www/zentaopms/www/upload - ./www:/www/zentaopms/www/data ports: - 80:80 depends_on: - mysql ``` 请确保将`your_mysql_root_password`替换为你的MySQL根密码,将`your_zentao_mysql_password`替换为你想设置的禅道MySQL密码。 3. 保存并关闭docker-compose.yml文件。 4. 在终端中执行以下命令启动禅道: ``` docker-compose up -d ``` Docker将会下载禅道和MySQL的镜像,并且启动它们。 5. 启动完成后,你可以通过浏览器访问`http://localhost`来打开禅道。 这些步骤只是一种部署禅道的方式,你可以根据自己的需求进行适当的调整。希望这可以帮助到你!如有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值