2012-02-10 55 views

回答

5

問題簡化爲如何在Erlang中進行rpc調用的問題。

  1. 確保ejabberd以節點主機部分的全限定主機名或IP地址運行。這在我的安裝中指定爲/etc/ejabberd/ejabberdctl.cfg中的EJABBERD_NODE。如果您必須在此步驟中更改主機名,請參閱https://git.process-one.net/ejabberd/mainline/blobs/raw/v2.1.10/doc/guide.html#htoc79(「更改計算機主機名」)。

  2. 使用-name或-sname啓動您的shell或腳本,並使用與上述限制相同的主機。

  3. 您已準備好使用Erlang的內置RPC。例如:

(在你的shell或腳本)

Cookie = 'YOUR_EJABBERD_COOKIE'. % mine was found in /var/lib/ejabberd/.erlang.cookie 
EjabberdNode = '[email protected]'. % or whatever you set as EJABBERD_NODE 
erlang:set_cookie(EjabberdNode, Cookie). 
net_adm:ping(EjabberdNode). 
rpc:call(EjabberdNode, mnesia, system_info, [tables]). 
2

只需使用命令ejabberdctl調試

mnesia:info(). %to overview mnesia 
mnesia:schema(schema). %see table named schema`s detail 
相關問題