Wie führe ich ejabberdctl dump-config erfolgreich aus oder finde aktualisierte Dokumentation?

Wie führe ich ejabberdctl dump-config erfolgreich aus oder finde aktualisierte Dokumentation?

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-configwird 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.

verwandte Informationen