tools.win_pg_dump_controller

Yohn Y. 2022-05-29 Parent:34db5b44491d

4:a38a008ce3e8 Go to Latest

tools.win_pg_dump_controller/README.md

+ Иная логика работы с эпохами

History
awgur@0 1 Мотивация
awgur@0 2 =========
awgur@0 3
awgur@0 4 Есть прекрасная платформа `windows`. И есть в ней сервисы разные, но нет консоли нормальной. Либо `cmd`,
awgur@3 5 либо `powershell` и крутись как хочешь...
awgur@0 6
awgur@3 7 Для того чтобы не крутиться хотя бы в вопросах резервных копий `PostgreSQL` создан этот модуль.
awgur@0 8
awgur@0 9 Почему не другие решения? Поскольку хорошее решение требует нормальной инфраструктуры, а не `PostgreSQL` на `Windows`.
awgur@0 10 В нормальной инфраструктуре это всё делается проще и скрипты уже есть. Но здесь `windows`
awgur@0 11
awgur@0 12 Кроме того, имея эту основу можно попытаться сделать нечто более сложное.
awgur@0 13
awgur@0 14
awgur@0 15 Как пользоваться?
awgur@0 16 =================
awgur@0 17
awgur@0 18 Запуск модуля через `c:\python38\python.exe -m win_pg_dump_controller c:\etc\pg_backup.config`.
awgur@0 19 `c:\etc\pg_backup.config` файл в формате `INI`. Пример файла в `examples`
awgur@0 20
awgur@0 21
awgur@0 22 Описание Конфигурационного файла
awgur@0 23 --------------------------------
awgur@0 24
awgur@0 25 ### Секции
awgur@0 26
awgur@0 27 * `main` - основная конфигурация скрипта
awgur@0 28 * `common` - общие параметры заданий
awgur@2 29 * `smtp` - настройка оповещения через почту
awgur@0 30 * `${Имя задания}` - параметры задания. `${Имя задания}` задаётся пользователем, чтобы ему было понятно.
awgur@0 31 Оно фигурирует в журналах, используется в файлах резерных копий. Поэтому есть смысл избегать в нём русских букв
awgur@0 32 и специальных символов
awgur@0 33
awgur@0 34
awgur@0 35 ### Параметры в `main`
awgur@0 36
awgur@0 37 * `pg_bin_path` - расположение директории `bin` нужной инстраляции `PostgreSQL`.
awgur@0 38 Можно поискать файл `pg_dump.exe` и внести сюда ту директорию, в которой он лежит
awgur@0 39 * `pg_dump_flags` - если не хватает флагов `pg_dump`, недостающие можно перечислить здесь.
awgur@0 40 * `log_dir` - каталог, куда будут писаться логи всего что происходит. Если не задан, логи писаться не будут.
awgur@0 41 * `teir1_days` - период самых последних резервных копий. Количество дней, за которые они вообще чиститься не будут.
awgur@0 42 По умолчанию 7 дней.
awgur@0 43 * `teir2_copies_interval` - архивный период резервных копий, количество дней между сохранёнными копиями. То есть
awgur@0 44 за этот период будет храниться только одна, самая старая копия. По умолчанию 7 дней
awgur@0 45 * `tier2_store_days` - за этим количеством дней копии чистятся. По умолчанию 30 дней
awgur@0 46 * `keep_logs_days` - количество дней за который хранить журналы.
awgur@0 47
awgur@0 48
awgur@2 49 ### Параметры в `smtp`
awgur@2 50
awgur@2 51 * `smtp server` - IP или имя узла SMTP сервера
awgur@2 52 * `smtp port` - Порт SMTP сервера
awgur@2 53 * `mail from` - E-Mail источника почты
awgur@2 54 * `mail to` - Имя ПЯ куда отправлять письма
awgur@2 55
awgur@2 56
awgur@0 57 ### Параметры `common` и раздела задач
awgur@0 58
awgur@0 59 * `host_name` - имя или IP узла баз данных. По умолчанию `127.0.0.1`
awgur@0 60 * `db_name` - имя базы данных
awgur@0 61 * `user_name` - имя пользователя для подключения к серверу
awgur@0 62 * `passwd` - пароль пользователя
awgur@0 63 * `port` - порт сервера баз данных
awgur@0 64 * `dst_dir` - каталог, к котором будут хранится резервные копии задания.