我正在将系统从旧服务器(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 文件需要在通过网络发送之前转换为平面格式。但我仍然不确定该怎么做。
请提前帮助,谢谢!
答案 0 :(得分:1)
在旧系统上,GDBM绑定到哈希,转储哈希。将转储移动到新系统。将转储读入哈希,绑定到GDBM进行写入。
对于转储,使用独立于平台的序列化格式(最好是Sereal),或者转储需要是人类可读的,Data::Dumper或类似的用于写入和Data::Undump用于阅读。