原禅道数据在公网IP为x.x.x.x的服务器上的centos7系统中;禅道数据迁移到的新服务器是公网IP为y.y.y.y的服务器。
若新服务器上安装centos7系统,则有两种情况:一种是两台服务器用相同的安装方式安装相同版本的禅道软件,另一种是两台服务器用不同的安装方式安装相同版本的禅道软件。
若新服务器上安装centos8系统,则有两种情况:一种是两台服务器用相同的安装方式安装相同版本的禅道软件,另一种是两台服务器用不同的安装方式安装相同版本的禅道软件。
新服务器上安装centos7系统
两台服务器用相同的安装方式安装相同版本的禅道软件
第一步,准备工作。
1)在公网IP为y.y.y.y的服务器与公网IP为x.x.x.x的服务器上用相同的安装方式安装相同版本的禅道软件。
2)禅道软件安装完成后,登录公网IP为y.y.y.y的服务器。
3)关闭公网IP为y.y.y.y的服务器上的禅道服务。
命令:# 一键安装禅道关闭命令
/opt/zbox/zbox stop
# 源码安装禅道关闭命令
systemctl stop httpd.service
systemctl stop mariadb.service
第二步,数据迁移。
1)登录公网IP为x.x.x.x的服务器。
2)两台服务器上都安装lsyncd。
命令:yum install lsyncd -y
3)在公网IP为x.x.x.x的服务器上(源目录服务器)进行文件/etc/lsyncd.conf同步配置
打开/etc/lsyncd.conf文件,写入下面的代码:
settings{
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.stat",
}
sync{
default.rsync,
source="/opt/zbox",
target="y1.y1.y1.y1:/opt/zbox",
rsync={rsh ="/usr/bin/ssh -l root -i /root/.ssh/id_rsa",}
}
4)在源目录服务器上配置ssh的免密码登录
说明:先在源目录服务器上生成一把密钥(id_rsa)和一把公钥(id_rsa.pub),再将公钥(id_rsa.pub)拷贝到目标目录服务器的~/.ssh文件中,以及做cat ./id_rsa.pub >> ./authorized_keys处理,然后给予密钥(id_rsa)权限,最后测试能否无密码登录目标目录服务器。
命令:cd .ssh
ssh-keygen -t rsa #一路回车
ssh-copy-id -i ~/.ssh/id_rsa.pub root@y1.y1.y1.y1
cat id_rsa.pub >> authorized_keys
chmod 600 ~/.ssh/id_rsa
测试能否无密码登录(root@源服务器的IP地址)
ssh root@y1.y1.y1.y1
5)启动lsyncd,把公网IP为x.x.x.x的服务器上的数据整体迁移到内网IP为y1.y1.y1.y1的服务器上。
命令:# 确保状态是active (running)
systemctl status lsyncd
ps aux | grep lsyncd
systemctl start lsyncd
systemctl status lsyncd
systemctl stop lsyncd
第三步,登录公网IP为y.y.y.y的服务器。
第四步,启动公网IP为y.y.y.y的服务器上的禅道服务。
命令:# 一键安装禅道启动命令
/opt/zbox/zbox start
# 源码安装禅道启动命令
systemctl start httpd.service
systemctl start mariadb.service
注意:最好把两台服务器的禅道端口设置成一样的。
若原禅道数据所在服务器的Apache端口为8080,Mysql端口为3307,则把新服务器的Apache端口设置为8080,Mysql端口设置为3307。
命令:# 一键安装禅道
/opt/zbox/zbox -ap 8080 -mp 3307
# 源码安装禅道
在安装的过程中就应该进行修改mysql端口,禅道安装完成后,去/etc/httpd/conf/httpd.conf文件配置,把“Listen 80”改为“Listen 8080”。
# 一键安装禅道重启命令
/opt/zbox/zbox restart
# 源码安装禅道重启命令
systemctl restart httpd.service
systemctl restart mariadb.service
第五步,访问和登录公网IP为y.y.y.y的服务器上的禅道。
登录网址:http://y.y.y.y:8080,界面显示“欢迎使用禅道集成运行环境!”,则访问成功。然后点击“开源版”,就会跳转到“易软天创项目管理系统”登录界面。
输入管理员账号以及原禅道的密码,若出现下面的页面,则说明登录成功了。
两台服务器用不同的安装方式安装相同版本的禅道软件
第一步,准备工作。
1)在公网IP为y.y.y.y的服务器与公网IP为x.x.x.x的服务器上用不同的安装方式安装相同版本的禅道软件。公网IP为x.x.x.x的服务器用一键安装禅道,公网IP为y.y.y.y的服务器用源码安装禅道。(安装方式随便哪一种都可以,只要不同就行)
2)不需要关闭公网IP为y.y.y.y的服务器上的禅道服务。
3)把两台服务器的禅道端口设置成一样的。
若原禅道数据所在服务器的Apache端口为8080,Mysql端口为3307,则把新服务器的Apache端口设置为8080,Mysql端口设置为3307。
在源码安装禅道的过程中就应该进行修改Mysql端口,禅道安装完成后,去/etc/httpd/conf/httpd.conf文件配置,把“Listen 80”改为“Listen 8080”。
4)重启公网IP为y.y.y.y的服务器上的禅道服务。
命令:systemctl restart httpd.service
systemctl restart mariadb.service
5)登录网址:http://y.y.y.y:8080
第二步,数据迁移。
1)登录公网IP为x.x.x.x的服务器。
2)把公网IP为x.x.x.x的服务器中备份文件夹下的文件迁移到内网IP为y1.y1.y1.y1的服务器中的备份文件夹下。
备份文件夹下的文件包括file文件夹,code文件夹和.sql.php文件。
命令:scp -rp /opt/zbox/app/zentao/tmp/backup/202206220030510.file root@y1.y1.y1.y1:/opt/zentaopms/tmp/backup
scp -rp /opt/zbox/app/zentao/tmp/backup/202206220030510.code root@y1.y1.y1.y1:/opt/zentaopms/tmp/backup
scp -rp /opt/zbox/app/zentao/tmp/backup/202206220030510.sql.php root@y1.y1.y1.y1:/opt/zentaopms/tmp/backup
输入连接root@y1.y1.y1.y1的密码“zjzk@123456”。
若结果显示“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED”,则说明出现错误。可以使用命令“ssh-keygen -R y1.y1.y1.y1”,然后重新尝试连接,输入yes,按下回车,成功连接。
若结果显示“100%”,则说明数据传送成功。
5)访问和登录公网IP为y.y.y.y的服务器上的禅道。
6)登录禅道后,点击“后台—系统-系统备份”,得到备份页面,然后点击“还原”。
7)查看禅道数据是否都已经迁移成功。
新服务器上安装centos8系统
两台服务器用相同的安装方式安装相同版本的禅道软件
第一步,准备工作。
1)在公网IP为y.y.y.y的服务器与公网IP为x.x.x.x的服务器上用相同的安装方式安装相同版本的禅道软件。
2)禅道软件安装完成后,登录公网IP为y.y.y.y的服务器。
3)关闭公网IP为y.y.y.y的服务器上的禅道服务。
命令:# 一键安装禅道关闭命令
/opt/zbox/zbox stop
# 源码安装禅道关闭命令
systemctl stop httpd.service
systemctl stop mariadb.service
第二步,数据迁移。
1)登录公网IP为x.x.x.x的服务器。
2)把公网IP为x.x.x.x的服务器上的文件夹/opt/zbox/app/zentao/www/data/upload/1和/opt/zbox/data/mysql/zentao中的数据迁移到内网IP为y1.y1.y1.y1的服务器上对应的文件夹中。
命令:scp -rp /opt/zbox/app/zentao/www/data/upload/1 root@y1.y1.y1.y1:/opt/zbox/app/zentao/www/data/upload/
scp -rp /opt/zbox/data/mysql/zentao root@y1.y1.y1.y1:/opt/zbox/data/mysql/
输入连接root@y1.y1.y1.y1的密码“zjzk@123456”。
若结果显示“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED”,则说明出现错误。可以使用命令“ssh-keygen -R y1.y1.y1.y1”,然后重新尝试连接,输入yes,按下回车,成功连接。
若结果显示“100%”,则说明数据传送成功。
3)登录公网IP为y.y.y.y的服务器。
4)启动公网IP为y.y.y.y的服务器上的禅道服务。
命令:# 一键安装禅道启动命令
/opt/zbox/zbox start
# 源码安装禅道启动命令
systemctl start httpd.service
systemctl start mariadb.service
注意:最好把两台服务器的禅道端口设置成一样的。
若原禅道数据所在服务器的Apache端口为8080,Mysql端口为3307,则把新服务器的Apache端口设置为8080,Mysql端口设置为3307。
命令:# 一键安装禅道
/opt/zbox/zbox -ap 8080 -mp 3307
# 源码安装禅道
在安装的过程中就应该进行修改mysql端口,禅道安装完成后,去/etc/httpd/conf/httpd.conf文件配置,把“Listen 80”改为“Listen 8080”。
# 一键安装禅道重启命令
/opt/zbox/zbox restart
# 源码安装禅道重启命令
systemctl restart httpd.service
systemctl restart mariadb.service
5)访问和登录公网IP为y.y.y.y的服务器上的禅道。
登录网址:http://y.y.y.y:8080,界面显示“欢迎使用禅道集成运行环境!”,则访问成功。然后点击“开源版”,就会跳转到“易软天创项目管理系统”登录界面。
输入管理员账号以及原禅道的密码,若出现下面的页面,则说明登录成功了。
两台服务器用不同的安装方式安装相同版本的禅道软件
第一步,准备工作。
1)公网IP为x.x.x.x的服务器用一键安装禅道,公网IP为y.y.y.y的服务器用源码安装禅道。两者安装相同版本的禅道软件。(安装方式随便哪一种都可以,只要不同就行)
2)不需要关闭公网IP为y.y.y.y的服务器上的禅道服务。
3)把两台服务器的禅道端口设置成一样的。
若原禅道数据所在服务器的Apache端口为8080,Mysql端口为3307,则把新服务器的Apache端口设置为8080,Mysql端口设置为3307。
在源码安装禅道的过程中就应该进行修改Mysql端口,禅道安装完成后,去/etc/httpd/conf/httpd.conf文件配置,把“Listen 80”改为“Listen 8080”。
4)重启公网IP为y.y.y.y的服务器上的禅道服务。
命令:systemctl restart httpd.service
systemctl restart mariadb.service
5)登录网址:http://y.y.y.y:8080
第二步,数据迁移。
1)登录公网IP为x.x.x.x的服务器。
2)把公网IP为x.x.x.x的服务器中备份文件夹下的文件迁移到内网IP为y1.y1.y1.y1的服务器中的备份文件夹下。
备份文件夹下的文件包括file文件夹,code文件夹和.sql.php文件。
命令:scp -rp /opt/zbox/app/zentao/tmp/backup/202206220030510.file root@y1.y1.y1.y1:/opt/zentaopms/tmp/backup
scp -rp /opt/zbox/app/zentao/tmp/backup/202206220030510.code root@y1.y1.y1.y1:/opt/zentaopms/tmp/backup
scp -rp /opt/zbox/app/zentao/tmp/backup/202206220030510.sql.php root@y1.y1.y1.y1:/opt/zentaopms/tmp/backup
输入连接root@y1.y1.y1.y1的密码“zjzk@123456”。
若结果显示“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED”,则说明出现错误。可以使用命令“ssh-keygen -R y1.y1.y1.y1”,然后重新尝试连接,输入yes,按下回车,成功连接。
若结果显示“100%”,则说明数据传送成功。
5)访问和登录公网IP为y.y.y.y的服务器上的禅道。
6)登录禅道后,点击“后台—系统-系统备份”,得到备份页面,然后点击“还原”。
7)查看禅道数据是否都已经迁移成功。
版本升级
若Linux系统中安装的禅道软件版本过低,则需要对禅道软件进行版本升级,然后在另一个服务器上安装相同版本的禅道软件,最后进行禅道数据迁移。
第一步,下载16.4版本禅道源码包。
登录网址:禅道16.4版本发布,支持导入Jira数据和SonarQube项目管理 - 禅道下载 - 禅道开源项目管理软件,找到“下载链接”,点击“安装包下载”中的“源码包”。然后将安装包上传到服务器上的/opt文件夹中即可。
第二步,解压源码包。
命令:cd /opt
yum install unzip
unzip ZenTaoPMS.16.4.zip
第三步,将文件夹/opt/zentaopms中的所有文件复制到/opt/zbox/app/zentao中,覆盖同名文件。
命令:sudo cp -rf /opt/zentaopms/* /opt/zbox/app/zentao
第四步,创建ok.txt文件,但文件为空。
若文件夹/opt/zbox/app/zentao/www中没有ok.txt,则可以执行命令:touch /opt/zbox/app/zentao/www/ok.txt
若文件夹/opt/zbox/app/zentao/www中存在ok.txt,则需要删掉ok.txt,然后重新创建ok.txt,但文件为空。
第五步,启动服务器上的禅道服务。
命令:# 一键安装禅道启动命令
/opt/zbox/zbox start
# 源码安装禅道启动命令
systemctl start httpd.service
systemctl start mariadb.service
第六步,访问http://x.x.x.x:8080/zentao/upgrade.php,(http://y.y.y.y/zentao/upgrade.php)按照页面提示进行升级。最后页面显示“禅道成功升级”,点击“访问禅道”即可。
第七步,输入管理员账号以及密码,若出现下面的页面,则说明版本升级成功了。
第八步,按照上述“数据迁移”步骤操作。
问题解决
若不小心做了数据库数据删除操作,数据都没了,应该怎么恢复:
可以到禅道的备份目录:/opt/zbox/app/zentao/tmp/backup中找一下时间最近的备份。可以使用备份还原一下。
禅道后台-备份 备份还原操作步骤:
方案一:
1、搭建相同版本号的禅道,保证网页可以正常访问;
2、拷贝备份文件到新禅道相同目录,分配读写权限;
3、网页登录新禅道 后台-备份 点击还原按钮进行还原。
方案二:
1、搭建相同版本号的禅道,保证网页可以正常访问;
2、将备份文件 sql.php 用文本编辑器打开删除开头的 <?php die();?>,然后重命名去掉.php,然后导入禅道数据库中;
3、将附件文件放到新禅道 www/data/upload/ 对应的目录下面。