如何成功运行 ejabberdctl dump-config 或找到更新的文档?

如何成功运行 ejabberdctl dump-config 或找到更新的文档?

在 Docker 中启动 ejabberd 20.12 后,日志告诉我应该运行 ejabberdctl dump-config 来获取当前运行的配置。

2021-01-15 01:32:21.039034+00:00 [warning] Listening option 'certfile' of module ejabberd_c2s is deprecated and was automatically appended to global 'certfiles' option. Please adjust your configuration file accordingly. Hint: run `ejabberdctl dump-config` command to view current configuration as it is seen by ejabberd.

当我运行它时,docker exec -it ejabberd bin/ejabberdctl dump-config它告诉我我需要 1 个参数......

Error: the command "dump-config" requires 1 more argument.

是时候查看文档了...等一下,网上找不到任何提到 ejabberdctl dump-config 的信息。有一些关于 dump_config 的 API 信息,但我不确定它如何转换为 CLI。

我尝试通过指定输出文件来猜测额外的参数是什么,但没有任何内容写入文件。是我一个人的问题还是 ejabberd 文档不够完善?

答案1

您可以在https://docs.ejabberd.im/developer/ejabberd-api/admin-api/#dump-config 以及

$ ejabberdctl help dump-config

  Command Name: dump_config

  Arguments: out::string
             
  Returns: res::rescode

  Tags:  config

  Description:  Dump configuration in YAML format as seen by ejabberd

例如:

$ ejabberdctl dump-config $HOME/eja.yml
$ head $HOME/eja.yml
hosts: 
  - "localhost"
  - "192.168.1.23"
loglevel: info
certfiles: 
  - "/etc/ejabberd/pem-5.pem"
...

我尝试通过指定输出文件来猜测额外的参数是什么,但是没有任何内容写入文件。

在 ejabberdctl 或其他 ejabberd API 命令的参数中指定路径时,请记住始终指定完整路径,例如/etc/ejabberd/something.txt

如果您仅指定相对路径something.txt,则它将在 ejabberd 的工作目录中生成,这可能不是您运行该 ejabberdctl 脚本的位置

相关内容