Zum Inhalt springen

Server-Befehl (server)

Referenz zu den Optionen und zum Verhalten des pgBackRest-Befehls server.

Der pgBackRest-Server ermöglicht den Zugriff auf entfernte Hosts ohne das SSH-Protokoll.

Befehlsoptionen

Option für die TLS-Serveradresse (--tls-server-address)

TLS-Serveradresse.

IP-Adresse, an der der Server auf Client-Anfragen wartet.

default: localhost
example: --tls-server-address=*

Option für berechtigte TLS-Clients (--tls-server-auth)

Für den TLS-Server berechtigte Clients.

Der Server autorisiert Clients, indem er ihr Zertifikat prüft und dessen CN (Common Name) mit einer Liste vergleicht, die auf dem Server mit der Option tls-server-auth konfiguriert ist.

Ein Client-CN kann für beliebig viele Stanzas berechtigt werden, indem der Option tls-server-auth eine durch Kommas getrennte Liste übergeben wird. Mit tls-server-auth=client-cn=* gilt die Berechtigung für alle Stanzas. Im Client-CN dürfen keine Platzhalter angegeben werden.

example: --tls-server-auth=client-cn=stanza1,stanza2

Option für die Zertifizierungsstellen des TLS-Servers (--tls-server-ca-file)

Zertifizierungsstellen des TLS-Servers.

Prüft, ob Client-Zertifikate von einer vertrauenswürdigen Zertifizierungsstelle signiert sind.

example: --tls-server-ca-file=/path/to/server.ca

Option für das TLS-Serverzertifikat (--tls-server-cert-file)

Datei mit dem TLS-Serverzertifikat.

Wird an den Client gesendet, um die Identität des Servers nachzuweisen.

example: --tls-server-cert-file=/path/to/server.crt

Option für den TLS-Serverschlüssel (--tls-server-key-file)

Datei mit dem TLS-Serverschlüssel.

Weist nach, dass das Serverzertifikat von seinem Eigentümer gesendet wurde.

example: --tls-server-key-file=/path/to/server.key

Option für den TLS-Serverport (--tls-server-port)

TLS-Serverport.

Port, an dem der Server auf Client-Anfragen wartet.

default: 8432
allowed: [1, 65535]
example: --tls-server-port=8000

Allgemeine Optionen

Option zur Ausführung als root (--allow-root)

Die Ausführung des Befehls als Benutzer root erlauben.

Standardmäßig darf nur der Befehl restore als Benutzer root ausgeführt werden, da er die Dateieigentümer sorgfältig verwaltet. Bei anderen Befehlen besteht das Risiko, dass Dateien entstehen, die root gehören, etwa im Repository. Diese sind für den PostgreSQL-Benutzer nicht zugänglich, sodass spätere Befehle fehlschlagen.

Diese Option aktivieren, um einen Befehl dennoch als root auszuführen. Es ist jedoch deutlich besser, pgBackRest als den Benutzer auszuführen, dem das Repository und der PostgreSQL-Cluster gehören.

default: n
example: --allow-root

Option für die Puffergröße (--buffer-size)

Puffergröße für I/O-Operationen.

Puffergröße für Kopier-, Komprimierungs-, Verschlüsselungs- und andere Operationen. Die Anzahl der verwendeten Puffer hängt von den Optionen ab. Jede Operation kann zusätzlichen Speicher benötigen; beispielsweise kann die Komprimierung mit gz weitere 256KiB Speicher beanspruchen.

Zulässige Werte sind 16KiB, 32KiB, 64KiB, 128KiB, 256KiB, 512KiB, 1MiB, 2MiB, 4MiB, 8MiB und 16MiB.

default: 1MiB
example: --buffer-size=2MiB

Option für die Konfigurationsdatei (--config)

pgBackRest-Konfigurationsdatei.

Mit dieser Option eine andere als die standardmäßige Konfigurationsdatei angeben.

default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_FILE
example: --config=/conf/pgbackrest/pgbackrest.conf

Option für den Pfad zusätzlicher Konfigurationsdateien (--config-include-path)

Pfad zu zusätzlichen pgBackRest-Konfigurationsdateien.

Konfigurationsdateien mit der Endung .conf am angegebenen Speicherort werden mit der pgBackRest-Konfigurationsdatei zu einer einzigen Konfigurationsdatei zusammengefügt.

default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_INCLUDE_PATH
example: --config-include-path=/conf/pgbackrest/conf.d

Option für den Konfigurationspfad (--config-path)

Basispfad der pgBackRest-Konfigurationsdateien.

Diese Einstellung überschreibt den standardmäßigen Basispfad der Optionen --config und --config-include-path, sofern diese nicht ausdrücklich in der Befehlszeile gesetzt werden.

Wird beispielsweise nur --config-path=/conf/pgbackrest angegeben, erhält --config den Standardwert /conf/pgbackrest/pgbackrest.conf und --config-include-path den Standardwert /conf/pgbackrest/conf.d.

default: CFGOPTDEF_CONFIG_PATH
example: --config-path=/conf/pgbackrest

Option für das I/O-Zeitlimit (--io-timeout)

I/O-Zeitlimit.

Zeitlimit in Sekunden für Verbindungen sowie Lese- und Schreiboperationen.

Die gesamte Lese- oder Schreiboperation muss nicht innerhalb dieses Zeitlimits abgeschlossen sein, aber es muss irgendein Fortschritt erzielt werden, selbst wenn es nur ein einziges Byte ist.

default: 1m
allowed: [100ms, 1h]
example: --io-timeout=120

Option für die Prozesspriorität (--priority)

Prozesspriorität festlegen.

Legt fest, welche Priorität (also welcher nice-Wert) dem Prozess vom Kernel-Scheduler zugewiesen wird. Positive Werte verringern die Priorität, negative Werte erhöhen sie. In den meisten Fällen dürfen Prozesse ihre Priorität nicht erhöhen.

allowed: [-20, 19]
example: --priority=19

Option für das Protokollzeitlimit (--protocol-timeout)

Protokollzeitlimit.

Legt in Sekunden fest, wie lange der lokale oder entfernte Prozess auf eine neue Nachricht auf der Protokollebene wartet. Dies verhindert, dass Prozesse unbegrenzt auf eine Nachricht warten.

HINWEIS: Der Wert von protocol-timeout muss größer sein als der von db-timeout.

default: 31m
allowed: [100ms, 7d]
example: --protocol-timeout=630

Option für Keep-alive (--sck-keep-alive)

Keep-alive aktivieren.

Aktiviert Keep-alive-Nachrichten auf Socket-Verbindungen.

default: y
example: --no-sck-keep-alive

Option für die Keep-alive-Anzahl (--tcp-keep-alive-count)

Anzahl der Keep-alive-Nachrichten.

Legt fest, wie viele TCP-Keep-alive-Nachrichten verloren gehen dürfen, bevor die Verbindung als unterbrochen gilt.

Diese Option ist auf Systemen verfügbar, die die Socket-Option TCP_KEEPCNT unterstützen.

allowed: [1, 32]
example: --tcp-keep-alive-count=3

Option für die Keep-alive-Leerlaufzeit (--tcp-keep-alive-idle)

Keep-alive-Leerlaufzeit.

Legt die Zeit ohne Netzwerkaktivität in Sekunden fest, nach der das Betriebssystem eine TCP-Keep-alive-Nachricht senden sollte.

Diese Option ist auf Systemen verfügbar, die die Socket-Option TCP_KEEPIDLE unterstützen.

allowed: [1, 3600]
example: --tcp-keep-alive-idle=60

Option für das Keep-alive-Intervall (--tcp-keep-alive-interval)

Keep-alive-Intervall.

Legt die Zeit in Sekunden fest, nach der eine nicht bestätigte TCP-Keep-alive-Nachricht erneut gesendet werden sollte.

Diese Option ist auf Systemen verfügbar, die die Socket-Option TCP_KEEPINTVL unterstützen.

allowed: [1, 900]
example: --tcp-keep-alive-interval=30

Option für TLSv1.2-Cipher-Suites (--tls-cipher-12)

Zulässige TLSv1.2-Cipher-Suites.

Alle TLS-Verbindungen zwischen pgBackRest-Client und -Server sind verschlüsselt. Standardmäßig sind auch Verbindungen zu Objektspeichern wie S3 verschlüsselt.

HINWEIS: TLSv1.2 ist das absolute Mindestsicherheitsniveau für jede Transportverbindung.

Die akzeptierten Cipher-Suites können bei Bedarf angepasst werden. Das Beispiel ist eine sinnvolle Wahl, sofern keine besonderen Sicherheitsanforderungen bestehen. Ist die Option nicht gesetzt (Standardeinstellung), gilt die Vorgabe der zugrunde liegenden OpenSSL-Bibliothek.

example: --tls-cipher-12=HIGH:MEDIUM:+3DES:!aNULL

Option für TLSv1.3-Cipher-Suites (--tls-cipher-13)

Zulässige TLSv1.3-Cipher-Suites.

Alle TLS-Verbindungen zwischen pgBackRest-Client und -Server sind verschlüsselt. Standardmäßig sind auch Verbindungen zu Objektspeichern wie S3 verschlüsselt.

HINWEIS: TLSv1.2 ist das absolute Mindestsicherheitsniveau für jede Transportverbindung.

Die akzeptierten Cipher-Suites können bei Bedarf angepasst werden. Ist die Option nicht gesetzt (Standardeinstellung), gilt die Vorgabe der zugrunde liegenden OpenSSL-Bibliothek.

example: --tls-cipher-13=TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

Protokollierungsoptionen

Option für die Protokollierungsstufe der Konsole (--log-level-console)

Protokollierungsstufe für die Konsole.

Die folgenden Protokollierungsstufen werden unterstützt:

  • off - Keine Protokollierung (nicht empfohlen)
  • error - Nur Fehler protokollieren
  • warn - Warnungen und Fehler protokollieren
  • info - Informationen, Warnungen und Fehler protokollieren
  • detail - Details, Informationen, Warnungen und Fehler protokollieren
  • debug - Debug-Meldungen, Details, Informationen, Warnungen und Fehler protokollieren
  • trace - Trace-Meldungen (sehr ausführliche Debug-Ausgaben), Debug-Meldungen, Informationen, Warnungen und Fehler protokollieren
default: warn
example: --log-level-console=error

Option für die Protokollierungsstufe der Datei (--log-level-file)

Protokollierungsstufe für die Dateiausgabe.

Die folgenden Protokollierungsstufen werden unterstützt:

  • off - Keine Protokollierung (nicht empfohlen)
  • error - Nur Fehler protokollieren
  • warn - Warnungen und Fehler protokollieren
  • info - Informationen, Warnungen und Fehler protokollieren
  • detail - Details, Informationen, Warnungen und Fehler protokollieren
  • debug - Debug-Meldungen, Details, Informationen, Warnungen und Fehler protokollieren
  • trace - Trace-Meldungen (sehr ausführliche Debug-Ausgaben), Debug-Meldungen, Informationen, Warnungen und Fehler protokollieren
default: info
example: --log-level-file=debug

Option für die Protokollierungsstufe der Standardfehlerausgabe (--log-level-stderr)

Protokollierungsstufe für stderr.

Legt fest, welche Protokollierungsstufen an stderr statt an stdout ausgegeben werden (festgelegt durch log-level-console). Zeitstempel und Prozess werden nicht an stderr ausgegeben.

Die folgenden Protokollierungsstufen werden unterstützt:

  • off - Keine Protokollierung (nicht empfohlen)
  • error - Nur Fehler protokollieren
  • warn - Warnungen und Fehler protokollieren
  • info - Informationen, Warnungen und Fehler protokollieren
  • detail - Details, Informationen, Warnungen und Fehler protokollieren
  • debug - Debug-Meldungen, Details, Informationen, Warnungen und Fehler protokollieren
  • trace - Trace-Meldungen (sehr ausführliche Debug-Ausgaben), Debug-Meldungen, Informationen, Warnungen und Fehler protokollieren
default: off
example: --log-level-stderr=error

Option für den Protokollpfad (--log-path)

Pfad, an dem Protokolldateien gespeichert werden.

In diesem Pfad speichert pgBackRest seine Protokolldateien. Bei log-level-file=off ist kein Protokollpfad erforderlich.

default: /var/log/pgbackrest
example: --log-path=/backup/db/log

Option für Zeitstempel im Protokoll (--log-timestamp)

Zeitstempel in der Protokollierung aktivieren.

Aktiviert Zeitstempel in der Konsolen- und Dateiprotokollierung. Diese Option wird in besonderen Situationen deaktiviert, etwa beim Erzeugen der Dokumentation.

default: y
example: --no-log-timestamp