0

我炸毁了我的ejabberd。我真的无法弄清楚是什么坏了。无论如何,稍后会看看。我需要的是我的名单。一切都应该存储在 mnesia 数据库中。

我想提取我的联系人(请记住,我无法启动我的 ejabberd,erl 正在工作)

我将如何以最好的方式做到这一点?我从来没有使用过 erlang,也没有使用过 mnesia。我怀疑我的名单在文件 roster.DCD 中。

目前将该文件的内容转储到文本文件中就足够了......

欢迎任何帮助:-)

最诚挚的问候

4

1 回答 1

1

假设您的 ejabberd 问题的原因不是 Mnesia 数据库损坏,您可以启动 Erlang shell 并直接从数据库中读取。运行此命令:

erl -sname ejabberd@myhost -s mnesia -mnesia dir '"/var/lib/ejabberd"'

请注意,我假设您使用的是典型的 Ejabberd 配置。将 /var/lib/ejabberd 替换为正确的目录名称。

或者,如果您可以让 ejabberd 至少启动,即使它在某种意义上“不起作用”,您也可以通过启动 Ejabberd 然后运行来进一步简化它ejabberdctl debug。这样您就不必猜测正确的节点名称。

无论如何,一旦你打开了你的 Erlang shell,运行这个命令:

mnesia:dump_to_textfile("my_ejabberd.txt").

然后按两次 Ctrl+C 退出,你应该已经准备好了。

于 2011-06-18T17:46:37.797 回答