|
| 1 | +# scripts |
| 2 | + |
| 3 | +Коллекция скриптов для администрирования серверов: PostgreSQL для 1С, Windows-инфраструктура (1С, RD Gateway), мониторинг Zabbix. |
| 4 | + |
| 5 | +## Структура |
| 6 | + |
| 7 | +``` |
| 8 | +windows/ PowerShell-скрипты для Windows |
| 9 | +pgsql/ PostgreSQL: установка, бэкапы, отказоустойчивость |
| 10 | +linux/ Linux: тесты железа, конфиги окружения |
| 11 | +zabbix/ Шаблоны Zabbix |
| 12 | +``` |
| 13 | + |
| 14 | +## windows/ |
| 15 | + |
| 16 | +| Скрипт | Назначение | |
| 17 | +|---|---| |
| 18 | +| `1CDefenderExclusion.ps1` | Добавляет исключения 1С в Windows Defender: каталоги платформы и файловых баз (из `ibases.v8i` всех профилей), расширения и процессы. Запуск от администратора. | |
| 19 | +| `Replace-1C-Ibases.ps1` | Раздаёт эталонный `ibases.v8i` (список баз 1С) пользователям группы `1C_all` с бэкапом старых файлов. Интерактивный выбор пользователей. | |
| 20 | +| `Update-RDGWCertificate.ps1` | Получение/продление сертификата Let's Encrypt через Posh-ACME (DNS-плагин Beget) и установка на RD Gateway. Для планировщика: одно задание раз в сутки с наивысшими правами. Сохранять в UTF-8 with BOM. | |
| 21 | + |
| 22 | +## pgsql/ |
| 23 | + |
| 24 | +| Скрипт | Назначение | |
| 25 | +|---|---| |
| 26 | +| `pg_setup.sh` | Установка и первичная настройка Postgres Pro 1C на Debian/Ubuntu: локали, часовой пояс, репозиторий, initdb с `--tune=1c`, pg_hba, пароль postgres. Параметры: `--pgver`, `--timezone`, `--lang`, `--postgres-pass`. Запуск от root. | |
| 27 | +| `backup-db-1c.sh` | Бэкап (pg_dump + pigz) и обслуживание (vacuumdb/reindexdb) баз Postgres Pro 1C по списку из файла. Ротация старых копий. Для cron. | |
| 28 | +| `backup-db-pgsql.sh` | То же для ванильного PostgreSQL (бинарники из `/usr/bin`). | |
| 29 | + |
| 30 | +Зависимости бэкап-скриптов: `pigz`. Список баз — текстовый файл (по умолчанию `/var/lib/pgpro/scripts/DB`), по одной базе на строку. |
| 31 | + |
| 32 | +### pgsql/failover/ |
| 33 | + |
| 34 | +Связка keepalived + потоковая репликация PostgreSQL на два узла (active/standby с VIP). |
| 35 | + |
| 36 | +| Файл | Назначение | |
| 37 | +|---|---| |
| 38 | +| `keepalived.conf` | Конфиг keepalived: VIP, проверка живости PostgreSQL, вызов promote при переходе в MASTER. | |
| 39 | +| `check-pg-alive.sh` | Проверка `pg_isready` для vrrp_script. | |
| 40 | +| `promote-standby.sh` | Повышение реплики до мастера (вызывается keepalived через `notify_master`). | |
| 41 | +| `rejoin-replica.sh` | При старте узла: если второй узел — живой мастер, пересоздаёт себя как реплику через `pg_basebackup`; иначе повышается до мастера. | |
| 42 | + |
| 43 | +> ⚠️ Перед использованием замените в конфигах и скриптах IP-адреса, пароль keepalived и учётные данные репликации на свои (пароль репликации — через `~postgres/.pgpass`, права 600). |
| 44 | +
|
| 45 | +## linux/ |
| 46 | + |
| 47 | +| Файл | Назначение | |
| 48 | +|---|---| |
| 49 | +| `nvme_test.sh` | Тест NVMe-диска через fio по профилю CrystalDiskMark (SEQ1M Q8T1, SEQ128K Q32T1, RND4K Q32T8, RND4K Q1T1). Зависимости: `fio`, `jq`. | |
| 50 | +| `configs/.bashrc`, `configs/.bash_aliases` | Окружение bash для серверов. | |
| 51 | +| `configs/commands.list` | Шпаргалка команд Linux по разделам (процессы, мониторинг, сеть и т.д.). | |
| 52 | + |
| 53 | +## zabbix/ |
| 54 | + |
| 55 | +| Файл | Назначение | |
| 56 | +|---|---| |
| 57 | +| `zbx_export_templates.yaml` | Шаблон «Windows hardware by Zabbix agent active»: температуры, SMART, кулеры, напряжения. Требует smartmontools, OpenHardwareMonitor и скрипты `windows.hard.ps1` / `windows.hdd.ps1` на хосте. | |
| 58 | + |
| 59 | +## CI |
| 60 | + |
| 61 | +GitHub Actions прогоняет линтеры на каждый push и pull request: |
| 62 | + |
| 63 | +- **shellcheck** для всех `*.sh` (порог — ошибки); |
| 64 | +- **PSScriptAnalyzer** для всех `*.ps1` (порог — ошибки). |
0 commit comments