tools.win_pg_dump_controller
2022-05-05
Parent:7c93b0305522
tools.win_pg_dump_controller/README.md
* Орфография в `README` . Рефакторинг в полученном модуле
| 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` - каталог, к котором будут хранится резервные копии задания. |