
После запуска ejabberd 20.12 в Docker в журналах сообщается, что мне следует запустить 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. Есть некоторая информация API о dump_config, но я не уверен, как это переводится в 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 или других команд API ejabberd не забывайте всегда указывать полный путь, например /etc/ejabberd/something.txt
.
Если указать только относительный путь, например something.txt
, он будет сгенерирован в рабочем каталоге ejabberd, который, вероятно, не является тем местом, где вы запускаете этот скрипт ejabberdctl.