Перейти к содержанию

Команда сервера (server)

Справочник по параметрам и поведению команды pgBackRest server.

Сервер pgBackRest обеспечивает доступ к удалённым серверам без использования протокола SSH.

Параметры команды

Параметр адреса TLS-сервера (--tls-server-address)

Адрес TLS-сервера.

IP-адрес, на котором сервер будет слушать запросы клиентов.

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

Параметр авторизованных клиентов TLS-сервера (--tls-server-auth)

Авторизованные клиенты TLS-сервера.

Сервер авторизует клиентов, проверяя их сертификаты и сверяя CN (общее имя) сертификата со списком, заданным на сервере параметром tls-server-auth.

Клиентский CN можно авторизовать для любого количества stanza, передав в параметре tls-server-auth список через запятую, либо для всех stanza, указав tls-server-auth=client-cn=*. Для клиентского 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

Общие параметры

Параметр разрешения запуска от root (--allow-root)

Разрешение запуска команды от пользователя root.

По умолчанию только команда restore может выполняться от пользователя root, поскольку она предназначена для тщательного управления принадлежностью файлов. Выполнение других команд от пользователя root может привести к созданию файлов (например, в репозитории), принадлежащих root, и, как следствие, недоступных для пользователя PostgreSQL, что вызовет сбой последующих команд.

Включите этот параметр, чтобы запустить команду от имени root. Однако гораздо лучше запускать pgBackRest от пользователя, владеющего репозиторием и кластером PostgreSQL.

default: n
example: --allow-root

Параметр размера буфера (--buffer-size)

Размер буфера для операций ввода-вывода.

Размер буфера, используемый для копирования, сжатия, шифрования и других операций. Количество используемых буферов зависит от параметров, и каждая операция может использовать дополнительную память, например, сжатие 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

Параметр тайм-аута ввода-вывода (--io-timeout)

Тайм-аут ввода-вывода.

Тайм-аут, в секундах, используемый для соединений и операций чтения/записи.

Операция чтения или записи не обязана полностью завершиться за это время, но какое-то продвижение должно произойти, хотя бы на один байт.

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

Параметр приоритета процесса (--priority)

Установка приоритета процесса.

Определяет приоритет процесса (то есть значение nice) для планировщика ядра. Положительные значения понижают приоритет, отрицательные — повышают. В большинстве случаев процессы не имеют права повышать свой приоритет.

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

Параметр тайм-аута протокола (--protocol-timeout)

Тайм-аут протокола.

Задаёт тайм-аут, в секундах, на который локальный или удалённый процесс будет ждать получения нового сообщения на уровне протокола. Это предотвращает бесконечное ожидание сообщения процессами.

ПРИМЕЧАНИЕ: параметр protocol-timeout должен быть больше db-timeout.

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

Параметр поддержания соединения (--sck-keep-alive)

Включение поддержания соединения.

Включает сообщения keep-alive для сокетных соединений.

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

Параметр числа сообщений keep-alive (--tcp-keep-alive-count)

Число сообщений keep-alive.

Задаёт число сообщений TCP keep-alive, которые могут быть потеряны, прежде чем соединение будет считаться неработающим.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPCNT.

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

Параметр времени простоя keep-alive (--tcp-keep-alive-idle)

Время простоя перед отправкой keep-alive.

Задаёт время отсутствия сетевой активности в секундах, по истечении которого операционной системе следует отправить сообщение TCP keep-alive.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPIDLE.

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

Параметр интервала keep-alive (--tcp-keep-alive-interval)

Интервал сообщений keep-alive.

Задаёт время в секундах, после которого следует повторно отправить сообщение TCP keep-alive, не получившее подтверждения.

Этот параметр доступен на системах, которые поддерживают опцию сокета TCP_KEEPINTVL.

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

Параметр наборов шифров TLSv1.2 (--tls-cipher-12)

Допустимые наборы шифров TLSv1.2.

Все соединения TLS между клиентом pgBackRest и сервером зашифрованы. По умолчанию также зашифрованы соединения с объектными хранилищами (например, S3).

ПРИМЕЧАНИЕ: абсолютный минимальный уровень безопасности для любого транспортного соединения — TLSv1.2.

При необходимости допустимые наборы шифров можно изменить. Приведённый пример подходит, если нет особых требований к безопасности. Если параметр не задан (по умолчанию), применяется значение по умолчанию используемой библиотеки OpenSSL.

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

Параметр наборов шифров TLSv1.3 (--tls-cipher-13)

Допустимые наборы шифров TLSv1.3.

Все соединения TLS между клиентом pgBackRest и сервером зашифрованы. По умолчанию также зашифрованы соединения с объектными хранилищами (например, 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