技术文章
前面我们完成了两件事情数据库配置以及集群环境搭建,这里我们来实现数据的迁移,从之前我们一直在演示的本地服务器中将数据导出,然后迁移到集群中.
还原本地数据库配置
前面我们演示了配置数据库,将MySQL作为数据源存放数据,我们先将配置还原回去.
在本地机器进入o2server/config目录,将externalDataSources.json删除.
重启服务器,本地的O2OA服务器将重新使用内置的H2数据库作为数据源.
导出数据
在服务器控制台上输入命令:
ctl
ctl -dd
现在我们已经将导出的数据存成json格式,并放置到trains1.o2oa.net
登陆到trains1.o2oa.net
进入到/opt/o2server目录
执行命令
ps -ef|grep o2server
确认服务器正在运行
在服务器目录下执行
cd /opt/o2server ./console_linux.sh
再次进入服务器控制台,输入命令
ctl 后面跟的这串时间戳需要看实际的目录时间戳
完成数据恢复.
进入到系统首页,看到没有导入前数据是空的,导入后已有显示数据.迁移完成.
实现了我们从开发机迁移到生产机的目标。
最后我们再回到服务器的控制台,看一下ctl的主要命令:
-clh2 压缩本地H2数据库,默认的H2数据库在长时间运行后,可能占用,比较大的磁盘空间,可以通过,压缩进行整理,这个和其他数据的:reorg,都是一样的。
-dd 可以将数据导出,转为json格式文件.
-ddl 可以导出数据的,建表语句,如果需要事前建好数据库表,那么可以从这里导出ddl语句。
-ec 清空数据库中的实例数据,保留平台的设计数据,比如我们开发好了流程,测试通过了,可以通过-ec processPlatform清空所有流程实例。比如删除内容管理的测试数据,只保留设计部分,那么命令就是 ctl -sc cms.
-en 生成密码文本,实际项目中处于安全的考虑不允许使用明文密码,需要进行加密。可以将密码事先加密成密文。
打开 external**.json文件,看一下password,在实际项目中 肯定是不符合安全管理要求的,出现了明文的密码。怎么做?就是用上面这个命令,去获取密文。演示一下:到控制台, ctl -en 1234abcd,返回来一串秘文,把这个密文 带括弧 写到password里面。
-hd 生成堆转储文件,将内存堆转出,主要于内存泄漏,内存过大时候的调试。
-hs http状态,可以查看web center application 服务器当前http线程情况。
打开控制台看一下,用了多少,空闲了多少。
-os 显示操作系统信息,cpu状态以及占用的内存。
-ppe 显示流程执行器占用的状态。
-rd 将导出的数据重新恢复到数据库。
-rst 重启服务器应用,可以单独启动某一个模块,比如重启流程模块
-sc 显示集群状态
-td 生成javaCore,主要是用于故障排查。
-uf 服务器程序升级。
执行命令
以上是我们对ctl这些命令的一个描述