我正在将一个系统从旧服务器(slackware)迁移到新服务器(redhat)。系统包含一些.gdbm文件。在我的新服务器上,当运行
WEB_SERVICES = file.gdbm
tie( %webservices, 'GDBM_File', $WEB_SERVICES, O_RDONLY, 0 )
原来
%webservices
是空的。但这在我的旧服务器上运行良好。所以我的问题是,.gdbm文件是否可以简单地(使用scp命令)从一个服务器传输到另一个服务器(不同的操作系统和gdbm的不同版本)?
此外,我还阅读了文档http://www.gnu.org.ua/software/gdbm/manual/gdbm.html#SEC12,其中指出.gdbm文件在通过网络发送之前需要转换为平面格式。但我还是不知道该怎么做。
请帮忙,提前谢谢!
最佳答案
在旧系统上,gdbm绑定到散列,转储散列。将转储移动到新系统。将转储读入散列,并绑定到gdbm进行写入。
对于转储,请使用独立于平台的序列化格式(Sereal是最好的),或者如果转储需要可读,Data::Dumper或类似格式用于写入,而Data::Undump用于读取。
关于linux - GDBM文件导入和导出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18136374/