迁移gitlab和禅道
背景
最近由于服务器暴露了6379端口,有没有给密码,导致服务器中了挖矿的病毒。尝试去删除这个病毒,但是情况不是很理想
liunx服务器遇到SYN_SENT洪水攻击
于是还是打算重做下系统,这样就要迁移下服务器上部署的禅道和gitlab
迁移禅道
旧服务器目前的版本是12.0.1,由于迁移需要新服务器的环境一致,这个要求很多时候没这个条件。我这次迁移就是这种情况,于是我选择使用docker 部署来迁移,这样可以保证环境一致。
查了下目前禅道官方的hub,最低是12.2.stable,于是接下来:
升级旧服务器上的禅道
使用源码包安装(各系统通用), 下载12.2.stable的源码包,安装文档的步骤进行升级
备份数据库和图片
完成升级后,备份两样东西即可。
- 数据库:直接用Navicat或者phpmyadmin来导出sql文件
- 附件图片:www/data/upload/1 把这个文件夹全部下载
在新的服务器上安装禅道
sudo docker run --name zentao -p 90:80 -p 3407:3306 --network=zentaonet --ip 172.172.172.172 --mac-address 02:42:ac:11:00:00 -v /mnt/zentaopms/www:/app/zentaopms -v /mnt/zentaopms/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:12.2.stable
登录安装界面,正常安装即可
关键:删除新服务器上禅道数据库里面的所有数据表
select concat('drop table ',table_name,';') from information_schema.TABLES where table_schema='zentao';
这条语句可以获得所有的删除表语句,然后借助sublime之类的编辑器,把所有的竖线|
,替换成空即可。然后复制所有的语句执行即可
DROP TABLE IF EXISTS zt_action; DROP TABLE IF EXISTS zt_block; DROP TABLE IF EXISTS zt_branch; DROP TABLE IF EXISTS zt_bug; DROP TABLE IF EXISTS zt_build; DROP TABLE IF EXISTS zt_burn; DROP TABLE IF EXISTS zt_case; DROP TABLE IF EXISTS zt_casestep; DROP TABLE IF EXISTS zt_company; DROP TABLE IF EXISTS zt_compile; DROP TABLE IF EXISTS zt_config; DROP TABLE IF EXISTS zt_cron; DROP TABLE IF EXISTS zt_dept; DROP TABLE IF EXISTS zt_doc; DROP TABLE IF EXISTS zt_doccontent; DROP TABLE IF EXISTS zt_doclib; DROP TABLE IF EXISTS zt_effort; DROP TABLE IF EXISTS zt_entry; DROP TABLE IF EXISTS zt_extension; DROP TABLE IF EXISTS zt_file; DROP TABLE IF EXISTS zt_group; DROP TABLE IF EXISTS zt_grouppriv; DROP TABLE IF EXISTS zt_history; DROP TABLE IF EXISTS zt_im_chat; DROP TABLE IF EXISTS zt_im_chatuser; DROP TABLE IF EXISTS zt_im_client; DROP TABLE IF EXISTS zt_im_conference; DROP TABLE IF EXISTS zt_im_conferenceaction; DROP TABLE IF EXISTS zt_im_message; DROP TABLE IF EXISTS zt_im_messagestatus; DROP TABLE IF EXISTS zt_im_queue; DROP TABLE IF EXISTS zt_jenkins; DROP TABLE IF EXISTS zt_job; DROP TABLE IF EXISTS zt_lang; DROP TABLE IF EXISTS zt_log; DROP TABLE IF EXISTS zt_module; DROP TABLE IF EXISTS zt_notify; DROP TABLE IF EXISTS zt_oauth; DROP TABLE IF EXISTS zt_product; DROP TABLE IF EXISTS zt_productplan; DROP TABLE IF EXISTS zt_project; DROP TABLE IF EXISTS zt_projectproduct; DROP TABLE IF EXISTS zt_projectstory; DROP TABLE IF EXISTS zt_relation; DROP TABLE IF EXISTS zt_release; DROP TABLE IF EXISTS zt_repo; DROP TABLE IF EXISTS zt_repobranch; DROP TABLE IF EXISTS zt_repofiles; DROP TABLE IF EXISTS zt_repohistory; DROP TABLE IF EXISTS zt_score; DROP TABLE IF EXISTS zt_story; DROP TABLE IF EXISTS zt_storyspec; DROP TABLE IF EXISTS zt_storystage; DROP TABLE IF EXISTS zt_suitecase; DROP TABLE IF EXISTS zt_task; DROP TABLE IF EXISTS zt_taskestimate; DROP TABLE IF EXISTS zt_team; DROP TABLE IF EXISTS zt_testreport; DROP TABLE IF EXISTS zt_testresult; DROP TABLE IF EXISTS zt_testrun; DROP TABLE IF EXISTS zt_testsuite; DROP TABLE IF EXISTS zt_testtask; DROP TABLE IF EXISTS zt_todo; DROP TABLE IF EXISTS zt_user; DROP TABLE IF EXISTS zt_usercontact; DROP TABLE IF EXISTS zt_usergroup; DROP TABLE IF EXISTS zt_userquery; DROP TABLE IF EXISTS zt_usertpl; DROP TABLE IF EXISTS zt_userview; DROP TABLE IF EXISTS zt_webhook;
导入备份的数据库
使用source命令即可,记得把备份的sql文件放到/mnt/zentaopms/www下面,这样可以映射过去。
最后把附件和图片复制到新服务器的1下面就可以了
gitlan迁移放到下篇