Инвентаризация резервных копий в указанных хранилищах
Исполнять сценарий необходимо от имени пользователя postgres.
Описание сценария
Сценарий инвентаризации резервных копий предназначен для регулярного анализа состояния архивированных данных и проверки их готовности к использованию. Главная задача сценария — сверить наличие резервных копий в физическом хранилище с записями о них в служебной БД, чтобы подтвердить их целостность и доступность. Служебная БД определяется в конфигурационном файле copywala.yaml параметрами секции pbra_db.
Последовательность выполнения
Выполните инвентаризацию резервных копий через CLI copywala командой copywala backups inventory (ознакомьтесь со справкой по команде ниже).
Справка по команде copywala backups inventory
Описание:
Выполняет проверку резервных копий путем сопоставления записей о них в служебной БД (задается в copywala.yaml в секции pbra_db) с фактически существующими архивами резервных копий в хранилищах. Проверка позволяет убедиться, что архивы присутствуют, доступны и готовы к использованию. По умолчанию (без указания флагов) проверка выполняется по всем хранилищам.
Проверка возможна в одном из режимов:
Режим | Что проверяется | Результат |
|---|---|---|
Базовая проверка (без флага |
|
|
Детальная проверка (c флагом | Все то же, что в базовой проверке + сравниваются метаданные из архива резервной копии с данными в служебной БД. |
|
Синтаксис:
copywala backups inventory [flags]
Обязательные параметры:
Нет.
Если в команде используется URI, указывающий подключение к DDBoost через S2, его необходимо обязательно заключать в двойные кавычки.
Это требование связано с тем, что URI содержит символ &, который интерпретируется Bash как оператор фонового запуска команды.
Ниже приведен пример для команды copywala cwl info:
copywala cwl info "s2://<s2-host>/<ddboost-storage-unit>/path/in/ddboost/storage/unit?driver=ddboost&data_domain_host=<ddboost-host>"
Опциональные параметры:
[flags] – доступны следующие флаги:
| Флаг | Описание |
|---|---|
-h|--help | Показать справку по команде |
-c|--config <path to copywala config> | Использовать конфигурационный файл, отличный от файла по умолчанию: /etc/pbr/copywala.yaml |
--detail | Выполнить инвентаризацию с детальной проверкой |
--local | Проверка резервных копий, находящихся в хранилище Local FS (local-fs://) |
--s2 | Проверка резервных копий, находящихся в хранилище S2 (s2://) |
--s3 | Проверка резервных копий, находящихся в хранилище S3 (s3://) |
--ddboost | Проверка резервных копий, находящихся в хранилище DDBoost (ddboost://) |
Подробное описание типов хранилищ приведено в разделе Хранилища резервных копий.
Результат
В результате выполнения команды будет выведено:
Inventory Summary:
Total backups checked: <количество проверенных резервных копий>
Successful: <количество успешных>
Failed: <количество проваленных>
Failed Backups:
--------------------------------------------------------------------------------
Backup ID: <Идентификатор РК_1>
Location URI: <local-fs://HOSTNAME/path-to-backup>
Inventory Time: <YYYY-MM-DD HH:MM:SS>
Error: <error message>
--------------------------------------------------------------------------------
...
| Поле | Описание | Пример значения |
|---|---|---|
Backup ID | Уникальный идентификатор РК | 019715e5-a1ec-70c4-9a31-753362d26f75 |
Location URI | Полный путь к РК: тип хранилища, хост, путь, имя файла | s2://srv-48-53:29500/2025-05-28-10-57_019715e5-a1ec-70c4-9a31-753362d26f75_full_0000000100000018000000A7.cwl |
Inventory Time | Время выполнения инвентаризации для данной РК | 2026-04-10 09:20:37 |
Error | Описание ошибки | open /home/postgres/backups/TEST_019d67c9-6432-7523-bb64-d5df29d9914b/backups/2026-04-10-09-20_019d760c-2240-7a99-912e-055be3099933_full_000000010000000700000031.cwl: no such file or directory |
Исключительные сценарии
Будет выведено соответствующее сообщение для случаев:
- Недостаточно прав для проведения инвентаризации.
- Не удалось установить подключение к целевой базе данных.