文章目录
- 一、备份还原
- 1、数据备份
- 1.1、前言
- 1.2、版本备份
- 1.3、数据备份
- 2、数据恢复
- 2.1、版本恢复
- 2.2、数据恢复
- 二、问题处理
- 1、ERROR: SQLSTATE[HY000] [2002] Connection refused
一、备份还原
1、数据备份
1.1、前言
禅道系统从10.6
版本以后,新增数据备份设置功能,允许管理员可以按自己实际需求来备份指定文件和目录。
-
定时任务
访问入口:后台–系统–定时
注:默认情况下,每天凌晨00:30定时进行备份任务操作(备份数据和附件),可根据实际情况配置定时任务启动时间 -
任务列表
分 | 小时 | 天 | 月 | 周 | 命令 | 备注 | 最后执行 | 状态 | 操作 |
---|---|---|---|---|---|---|---|---|---|
30 | 0 | * | * | * | 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
- **问题描述:**访问http://127.0.0.1:8001 可以访问成功,但访问http://127.0.0.1:8001/zentao 时访问失败
- **原因分析:**查看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