如何成功執行 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-configcommand 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 文件?
您可以在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 腳本的位置