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

詳細はダンプ設定 そして

$ 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スクリプトを実行している場所ではありません。

関連情報