tools.win_pg_dump_controller

Yohn Y. 2022-02-11 Parent:be791d354d2a Child:7c93b0305522

1:a22dd63ba19e Go to Latest

tools.win_pg_dump_controller/README.md

* Исправление ошибки в логике работы с резервными копиями второго класса . Добавлено больше информации о состоянии резервных копий второго класса . Не пишем в логи лишние строки во время операций чистки старых логов

History
1 Мотивация
2 =========
4 Есть прекрасная платформа `windows`. И есть в ней сервисы разные, но нет консоли нормальной. Либо `cmd`,
5 либо `powershell` и крутись как хочешь?
7 Для того чтобы не крутиться хотя бы в вопросах рещервных копий `PostgreSQL` создан этот модуль.
9 Почему не другие решения? Поскольку хорошее решение требует нормальной инфраструктуры, а не `PostgreSQL` на `Windows`.
10 В нормальной инфраструктуре это всё делается проще и скрипты уже есть. Но здесь `windows`
12 Кроме того, имея эту основу можно попытаться сделать нечто более сложное.
15 Как пользоваться?
16 =================
18 Запуск модуля через `c:\python38\python.exe -m win_pg_dump_controller c:\etc\pg_backup.config`.
19 `c:\etc\pg_backup.config` файл в формате `INI`. Пример файла в `examples`
22 Описание Конфигурационного файла
23 --------------------------------
25 ### Секции
27 * `main` - основная конфигурация скрипта
28 * `common` - общие параметры заданий
29 * `${Имя задания}` - параметры задания. `${Имя задания}` задаётся пользователем, чтобы ему было понятно.
30 Оно фигурирует в журналах, используется в файлах резерных копий. Поэтому есть смысл избегать в нём русских букв
31 и специальных символов
34 ### Параметры в `main`
36 * `pg_bin_path` - расположение директории `bin` нужной инстраляции `PostgreSQL`.
37 Можно поискать файл `pg_dump.exe` и внести сюда ту директорию, в которой он лежит
38 * `pg_dump_flags` - если не хватает флагов `pg_dump`, недостающие можно перечислить здесь.
39 * `log_dir` - каталог, куда будут писаться логи всего что происходит. Если не задан, логи писаться не будут.
40 * `teir1_days` - период самых последних резервных копий. Количество дней, за которые они вообще чиститься не будут.
41 По умолчанию 7 дней.
42 * `teir2_copies_interval` - архивный период резервных копий, количество дней между сохранёнными копиями. То есть
43 за этот период будет храниться только одна, самая старая копия. По умолчанию 7 дней
44 * `tier2_store_days` - за этим количеством дней копии чистятся. По умолчанию 30 дней
45 * `keep_logs_days` - количество дней за который хранить журналы.
48 ### Параметры `common` и раздела задач
50 * `host_name` - имя или IP узла баз данных. По умолчанию `127.0.0.1`
51 * `db_name` - имя базы данных
52 * `user_name` - имя пользователя для подключения к серверу
53 * `passwd` - пароль пользователя
54 * `port` - порт сервера баз данных
55 * `dst_dir` - каталог, к котором будут хранится резервные копии задания.