服务器命令(server)
server 命令的选项与行为参考。pgBackRest 服务器允许在不使用 SSH 协议的情况下访问远程主机。
命令选项
TLS 服务器地址选项(--tls-server-address)
TLS 服务器地址。
服务器监听客户端请求的 IP 地址。
default: localhost
example: --tls-server-address=*
TLS 服务器授权客户端选项(--tls-server-auth)
TLS 服务器授权客户端。
服务器通过验证客户端证书,并将其证书 CN(Common Name,通用名称)与 tls-server-auth 选项所配置的列表进行比对,来完成对客户端的授权。
可通过向 tls-server-auth 选项传入逗号分隔的列表,授权某个客户端 CN 访问多个 stanza(stanza 是 pgBackRest 中用于标识一个 PostgreSQL 集群备份配置的逻辑名称);也可通过指定 tls-server-auth=client-cn=* 授权其访问所有 stanza。客户端 CN 不支持通配符。
example: --tls-server-auth=client-cn=stanza1,stanza2
TLS 服务器证书颁发机构选项(--tls-server-ca-file)
TLS 服务器证书颁发机构。
用于验证客户端证书是否由受信任的证书颁发机构签发。
example: --tls-server-ca-file=/path/to/server.ca
TLS 服务器证书选项(--tls-server-cert-file)
TLS 服务器证书文件。
发送给客户端以证明服务器身份的证书。
example: --tls-server-cert-file=/path/to/server.crt
TLS 服务器密钥选项(--tls-server-key-file)
TLS 服务器密钥文件。
用于证明服务器证书归属的私钥。
example: --tls-server-key-file=/path/to/server.key
TLS 服务器端口选项(--tls-server-port)
TLS 服务器端口。
服务器监听客户端请求的端口。
default: 8432
allowed: [1, 65535]
example: --tls-server-port=8000
通用选项
缓冲区大小选项(--buffer-size)
I/O 操作的缓冲区大小。
用于复制、压缩、加密等操作的缓冲区大小。实际使用的缓冲区数量取决于各选项配置,每个操作可能还会额外占用内存,例如 gz 压缩可能额外使用 256KiB 内存。
允许的值为:16KiB、32KiB、64KiB、128KiB、256KiB、512KiB、1MiB、2MiB、4MiB、8MiB 和 16MiB。
default: 1MiB
example: --buffer-size=2MiB
配置文件选项(--config)
pgBackRest 配置文件。
指定与默认值不同的配置文件路径。
default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_FILE
example: --config=/conf/pgbackrest/pgbackrest.conf
配置包含路径选项(--config-include-path)
附加 pgBackRest 配置文件的路径。
该路径下扩展名为 .conf 的配置文件将与 pgBackRest 主配置文件合并,最终形成一个完整的配置文件。
default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_INCLUDE_PATH
example: --config-include-path=/conf/pgbackrest/conf.d
配置基础路径选项(--config-path)
pgBackRest 配置文件的基础路径。
此选项覆盖 --config 和 --config-include-path 的默认基础路径,但仅在这两个选项未在命令行中明确指定时生效。
例如,仅传入 --config-path=/conf/pgbackrest 时,--config 的默认值将变为 /conf/pgbackrest/pgbackrest.conf,--config-include-path 的默认值将变为 /conf/pgbackrest/conf.d。
default: CFGOPTDEF_CONFIG_PATH
example: --config-path=/conf/pgbackrest
I/O 超时选项(--io-timeout)
I/O 超时时间。
连接及读写操作的超时时间,单位为秒。
注意:整个读写操作不必在此超时时间内完成,但必须有所进展,哪怕只传输了一个字节。
default: 1m
allowed: [100ms, 1h]
example: --io-timeout=120
进程优先级选项(--priority)
设置进程优先级。
定义内核调度器赋予该进程的优先级(即 niceness 值)。正值降低优先级,负值提高优先级。普通进程在大多数情况下无权提高自身优先级。
allowed: [-20, 19]
example: --priority=19
协议超时选项(--protocol-timeout)
协议超时时间。
本地或远程进程在协议层等待新消息的超时时间,单位为秒。此设置可防止进程无限期阻塞等待消息。
注意:
protocol-timeout选项的值必须大于db-timeout选项的值。
default: 31m
allowed: [100ms, 7d]
example: --protocol-timeout=630
保活选项(--sck-keep-alive)
启用保活。
在 socket 连接上启用保活消息。
default: y
example: --no-sck-keep-alive
TCP 保活计数选项(--tcp-keep-alive-count)
保活计数。
连接被判定为断开之前,允许丢失的 TCP 保活消息数量。
此选项仅在支持 TCP_KEEPCNT socket 选项的系统上可用。
allowed: [1, 32]
example: --tcp-keep-alive-count=3
TCP 保活空闲时间选项(--tcp-keep-alive-idle)
保活空闲时间。
无网络活动持续多少秒后,操作系统开始发送 TCP 保活消息。
此选项仅在支持 TCP_KEEPIDLE socket 选项的系统上可用。
allowed: [1, 3600]
example: --tcp-keep-alive-idle=60
TCP 保活间隔选项(--tcp-keep-alive-interval)
保活间隔时间。
未被确认的 TCP 保活消息重新发送前的等待秒数。
此选项仅在支持 TCP_KEEPINTVL socket 选项的系统上可用。
allowed: [1, 900]
example: --tcp-keep-alive-interval=30
TLSv1.2 加密套件选项(--tls-cipher-12)
允许使用的 TLSv1.2 加密套件。
pgBackRest 客户端与服务器之间的所有 TLS 连接均经过加密,连接到对象存储(如 S3)时默认也会加密。
注意: 任何传输连接的最低安全级别为 TLSv1.2。
如有需要,可调整允许使用的加密套件。示例中的配置是合理的选择,除非有特殊安全要求。若未设置(默认),则使用底层 OpenSSL 库的默认值。
example: --tls-cipher-12=HIGH:MEDIUM:+3DES:!aNULL
TLSv1.3 加密套件选项(--tls-cipher-13)
允许使用的 TLSv1.3 加密套件。
pgBackRest 客户端与服务器之间的所有 TLS 连接均经过加密,连接到对象存储(如 S3)时默认也会加密。
注意: 任何传输连接的最低安全级别为 TLSv1.2。
如有需要,可调整允许使用的加密套件。若未设置(默认),则使用底层 OpenSSL 库的默认值。
example: --tls-cipher-13=TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
日志选项
控制台日志级别选项(--log-level-console)
控制台日志级别。
支持以下日志级别:
off- 不记录任何日志(不推荐)error- 仅记录错误warn- 记录警告和错误info- 记录信息、警告和错误detail- 记录详情、信息、警告和错误debug- 记录调试、详情、信息、警告和错误trace- 记录追踪(非常详细的调试信息)、调试、信息、警告和错误
default: warn
example: --log-level-console=error
文件日志级别选项(--log-level-file)
文件日志级别。
支持以下日志级别:
off- 不记录任何日志(不推荐)error- 仅记录错误warn- 记录警告和错误info- 记录信息、警告和错误detail- 记录详情、信息、警告和错误debug- 记录调试、详情、信息、警告和错误trace- 记录追踪(非常详细的调试信息)、调试、信息、警告和错误
default: info
example: --log-level-file=debug
标准错误日志级别选项(--log-level-stderr)
stderr 日志级别。
指定哪些日志级别输出到 stderr 而非 stdout(由 log-level-console 控制)。时间戳和进程信息不会输出到 stderr。
支持以下日志级别:
off- 不记录任何日志(不推荐)error- 仅记录错误warn- 记录警告和错误info- 记录信息、警告和错误detail- 记录详情、信息、警告和错误debug- 记录调试、详情、信息、警告和错误trace- 记录追踪(非常详细的调试信息)、调试、信息、警告和错误
default: off
example: --log-level-stderr=error
日志路径选项(--log-path)
日志文件的存储路径。
pgBackRest 将日志文件写入此路径。若 log-level-file=off,则无需配置日志路径。
default: /var/log/pgbackrest
example: --log-path=/backup/db/log
日志时间戳选项(--log-timestamp)
在日志中启用时间戳。
在控制台和文件日志中启用时间戳。在某些特殊情况下(如生成文档时),此选项会被禁用。
default: y
example: --no-log-timestamp