tools.win_pg_dump_controller
2022-01-30
Child:7c93b0305522
tools.win_pg_dump_controller/README.md
..init
| awgur@0 | 1 Мотивация |
| awgur@0 | 2 ========= |
| awgur@0 | 3 |
| awgur@0 | 4 Есть прекрасная платформа `windows`. И есть в ней сервисы разные, но нет консоли нормальной. Либо `cmd`, |
| awgur@0 | 5 либо `powershell` и крутись как хочешь? |
| awgur@0 | 6 |
| awgur@0 | 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@0 | 29 * `${Имя задания}` - параметры задания. `${Имя задания}` задаётся пользователем, чтобы ему было понятно. |
| awgur@0 | 30 Оно фигурирует в журналах, используется в файлах резерных копий. Поэтому есть смысл избегать в нём русских букв |
| awgur@0 | 31 и специальных символов |
| awgur@0 | 32 |
| awgur@0 | 33 |
| awgur@0 | 34 ### Параметры в `main` |
| awgur@0 | 35 |
| awgur@0 | 36 * `pg_bin_path` - расположение директории `bin` нужной инстраляции `PostgreSQL`. |
| awgur@0 | 37 Можно поискать файл `pg_dump.exe` и внести сюда ту директорию, в которой он лежит |
| awgur@0 | 38 * `pg_dump_flags` - если не хватает флагов `pg_dump`, недостающие можно перечислить здесь. |
| awgur@0 | 39 * `log_dir` - каталог, куда будут писаться логи всего что происходит. Если не задан, логи писаться не будут. |
| awgur@0 | 40 * `teir1_days` - период самых последних резервных копий. Количество дней, за которые они вообще чиститься не будут. |
| awgur@0 | 41 По умолчанию 7 дней. |
| awgur@0 | 42 * `teir2_copies_interval` - архивный период резервных копий, количество дней между сохранёнными копиями. То есть |
| awgur@0 | 43 за этот период будет храниться только одна, самая старая копия. По умолчанию 7 дней |
| awgur@0 | 44 * `tier2_store_days` - за этим количеством дней копии чистятся. По умолчанию 30 дней |
| awgur@0 | 45 * `keep_logs_days` - количество дней за который хранить журналы. |
| awgur@0 | 46 |
| awgur@0 | 47 |
| awgur@0 | 48 ### Параметры `common` и раздела задач |
| awgur@0 | 49 |
| awgur@0 | 50 * `host_name` - имя или IP узла баз данных. По умолчанию `127.0.0.1` |
| awgur@0 | 51 * `db_name` - имя базы данных |
| awgur@0 | 52 * `user_name` - имя пользователя для подключения к серверу |
| awgur@0 | 53 * `passwd` - пароль пользователя |
| awgur@0 | 54 * `port` - порт сервера баз данных |
| awgur@0 | 55 * `dst_dir` - каталог, к котором будут хранится резервные копии задания. |