背景
最近由于服务器暴露了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迁移放到下篇