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

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

---

Индекс LLMS: [llms.txt](/ru/llms.txt)

---

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

## Параметры команды {#command-options}

### Параметр адреса TLS-сервера (`--tls-server-address`) {#tls-server-address-option---tls-server-address}

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

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

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

### Параметр авторизованных клиентов TLS-сервера (`--tls-server-auth`) {#tls-server-authorized-clients-option---tls-server-auth}

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

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

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

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

### Параметр центров сертификации TLS-сервера (`--tls-server-ca-file`) {#tls-server-certificate-authorities-option---tls-server-ca-file}

Центры сертификации TLS-сервера.

Проверяет, что сертификаты клиентов подписаны доверенным центром сертификации.

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

### Параметр сертификата TLS-сервера (`--tls-server-cert-file`) {#tls-server-certificate-option---tls-server-cert-file}

Файл сертификата TLS-сервера.

Отправляется клиенту для подтверждения личности сервера.

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

### Параметр ключа TLS-сервера (`--tls-server-key-file`) {#tls-server-key-option---tls-server-key-file}

Файл ключа TLS-сервера.

Подтверждает, что сертификат сервера отправлен его владельцем.

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

### Параметр порта TLS-сервера (`--tls-server-port`) {#tls-server-port-option---tls-server-port}

Порт сервера TLS.

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

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

## Общие параметры {#general-options}

### Параметр разрешения запуска от root (`--allow-root`) {#allow-run-as-root-option---allow-root}

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

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

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

```yaml
default: n
example: --allow-root
```

### Параметр размера буфера (`--buffer-size`) {#buffer-size-option---buffer-size}

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

Размер буфера, используемый для копирования, сжатия, шифрования и других операций. Количество используемых буферов зависит от параметров, и каждая операция может использовать дополнительную память, например, сжатие `gz` может потребовать дополнительно 256KiB памяти.

Допустимые значения: `16KiB`, `32KiB`, `64KiB`, `128KiB`, `256KiB`, `512KiB`, `1MiB`, `2MiB`, `4MiB`, `8MiB` и `16MiB`.

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

### Параметр файла конфигурации (`--config`) {#config-option---config}

Конфигурационный файл pgBackRest.

Используйте этот параметр для указания другого файла конфигурации, отличного от файла по умолчанию.

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

### Параметр каталога включаемых конфигураций (`--config-include-path`) {#config-include-path-option---config-include-path}

Путь к дополнительным файлам конфигурации pgBackRest.

Файлы конфигурации с расширением `.conf`, находящиеся в указанном каталоге, объединяются с файлом конфигурации pgBackRest в единый файл конфигурации.

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

### Параметр каталога конфигурации (`--config-path`) {#config-path-option---config-path}

Базовый путь файлов конфигурации pgBackRest.

Эта настройка переопределяет базовый каталог по умолчанию для параметров `--config` и `--config-include-path`, если они не заданы явно в командной строке.

Например, передача только `--config-path=/conf/pgbackrest` приводит к установке значения по умолчанию для `--config` в `/conf/pgbackrest/pgbackrest.conf` и значения по умолчанию для `--config-include-path` в `/conf/pgbackrest/conf.d`.

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

### Параметр тайм-аута ввода-вывода (`--io-timeout`) {#io-timeout-option---io-timeout}

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

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

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

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

### Параметр приоритета процесса (`--priority`) {#set-process-priority-option---priority}

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

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

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

### Параметр тайм-аута протокола (`--protocol-timeout`) {#protocol-timeout-option---protocol-timeout}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Параметр интервала keep-alive (`--tcp-keep-alive-interval`) {#keep-alive-interval-option---tcp-keep-alive-interval}

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

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

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

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

### Параметр наборов шифров TLSv1.2 (`--tls-cipher-12`) {#tlsv12-cipher-suites-option---tls-cipher-12}

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

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

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

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

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

### Параметр наборов шифров TLSv1.3 (`--tls-cipher-13`) {#tlsv13-cipher-suites-option---tls-cipher-13}

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

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

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

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

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

## Параметры журналирования {#log-options}

### Параметр уровня журналирования в консоль (`--log-level-console`) {#console-log-level-option---log-level-console}

Уровень журналирования в консоль.

Поддерживаются следующие уровни журналирования:

- `off` - Журналирование отключено (не рекомендуется)
- `error` - Только ошибки
- `warn` - Предупреждения и ошибки
- `info` - Информационные сообщения, предупреждения и ошибки
- `detail` - Подробные и информационные сообщения, предупреждения и ошибки
- `debug` - Отладочные, подробные и информационные сообщения, предупреждения и ошибки
- `trace` - Трассировка (очень подробная отладка), отладочные и информационные сообщения, предупреждения и ошибки

```yaml
default: warn
example: --log-level-console=error
```

### Параметр уровня журналирования в файл (`--log-level-file`) {#file-log-level-option---log-level-file}

Уровень журналирования в файл.

Поддерживаются следующие уровни журналирования:

- `off` - Журналирование отключено (не рекомендуется)
- `error` - Только ошибки
- `warn` - Предупреждения и ошибки
- `info` - Информационные сообщения, предупреждения и ошибки
- `detail` - Подробные и информационные сообщения, предупреждения и ошибки
- `debug` - Отладочные, подробные и информационные сообщения, предупреждения и ошибки
- `trace` - Трассировка (очень подробная отладка), отладочные и информационные сообщения, предупреждения и ошибки

```yaml
default: info
example: --log-level-file=debug
```

### Параметр уровня журналирования в стандартный поток ошибок (`--log-level-stderr`) {#std-error-log-level-option---log-level-stderr}

Уровень ведения журнала для stderr.

Задаёт уровни журнала, сообщения которых выводятся в `stderr`, а не в `stdout` (задаваемый параметром `log-level-console`). Временная метка и процесс в `stderr` не выводятся.

Поддерживаются следующие уровни журналирования:

- `off` - Журналирование отключено (не рекомендуется)
- `error` - Только ошибки
- `warn` - Предупреждения и ошибки
- `info` - Информационные сообщения, предупреждения и ошибки
- `detail` - Подробные и информационные сообщения, предупреждения и ошибки
- `debug` - Отладочные, подробные и информационные сообщения, предупреждения и ошибки
- `trace` - Трассировка (очень подробная отладка), отладочные и информационные сообщения, предупреждения и ошибки

```yaml
default: off
example: --log-level-stderr=error
```

### Параметр каталога журналов (`--log-path`) {#log-path-option---log-path}

Путь, по которому хранятся файлы журналов.

Путь к журналу задаёт местоположение для хранения файлов журналов pgBackRest. Примечание: если `log-level-file=off`, то путь к журналу не требуется.

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

### Параметр временных меток журнала (`--log-timestamp`) {#log-timestamp-option---log-timestamp}

Включение временных меток в журнале.

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

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

---

Обратные ссылки:

- [Команды](/ru/docs/pgbackrest/command/)
