# Команда сервера (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}

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

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

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

### Опция тайм-аута протокола (`--protocol-timeout`) {#protocol-timeout-option---protocol-timeout}

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

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

> **NOTE:** параметр `protocol-timeout` должен быть больше, чем параметр `db-timeout`.

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

### Параметр Keep Alive (`--sck-keep-alive`) {#keep-alive-option---sck-keep-alive}

Включить 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.

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

Этот параметр доступен на системах, которые поддерживают опцию сокета `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.

Этот параметр доступен на системах, которые поддерживают опцию сокета `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.

Указывает количество времени (в секундах), по истечении которого сообщение keep-alive TCP, не подтверждённое получателем, должно быть повторно отправлено.

Этот параметр доступен на системах, которые поддерживают опцию сокета `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).

> **NOTE**: Минимальный уровень безопасности для любого соединения по транспортному протоколу — 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).

> **NOTE**: Минимальный уровень безопасности для любого соединения по транспортному протоколу — 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/)
