
Nachdem ich ejabberd 20.12 in Docker gestartet habe, sagen mir die Protokolle, dass ich ejabberdctl dump-config ausführen sollte, um die aktuell laufende Konfiguration zu erhalten.
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.
Wenn ich es ausführe, docker exec -it ejabberd bin/ejabberdctl dump-config
wird mir angezeigt, dass ich noch ein Argument benötige ...
Error: the command "dump-config" requires 1 more argument.
Zeit, die Dokumentation zu überprüfen ... Moment mal, es ist unmöglich, online Informationen zu finden, die ejabberdctl dump-config erwähnen. Es gibt einige API-Informationen zu dump_config, aber ich bin mir nicht sicher, wie sich diese auf die CLI übertragen lassen.
Ich habe versucht, das zusätzliche Argument zu erraten, indem ich eine Ausgabedatei angegeben habe, aber es wird nichts in die Datei geschrieben. Liegt es nur an mir oder fehlt die Dokumentation von ejabberd?
Antwort1
Einzelheiten erfahren Sie inhttps://docs.ejabberd.im/developer/ejabberd-api/admin-api/#dump-config und in
$ 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
So zum Beispiel:
$ ejabberdctl dump-config $HOME/eja.yml
$ head $HOME/eja.yml
hosts:
- "localhost"
- "192.168.1.23"
loglevel: info
certfiles:
- "/etc/ejabberd/pem-5.pem"
...
Ich habe versucht, durch Angabe einer Ausgabedatei zu erraten, was das zusätzliche Argument war, aber es wird nichts in die Datei geschrieben.
Denken Sie beim Angeben des Pfads in Argumenten für ejabberdctl oder andere ejabberd-API-Befehle daran, immer den vollständigen Pfad anzugeben, z. B. /etc/ejabberd/something.txt
.
Wenn Sie nur einen relativen Pfad angeben, wie something.txt
, wird dieser im Arbeitsverzeichnis von ejabberd generiert, was wahrscheinlich nicht der Ort ist, an dem Sie das ejabberdctl-Skript ausführen.