Repository navigation
v1.1.0 — Улучшения конфигурации, логирования, ротации и управления Telegram. EN v1.1.0 — Config, logging, rotation and Telegram control improvements
What's Changed
Кратко: улучшена надёжность и управляемость скрипта резервного копирования: добавлена валидация конфигурации, гибкое управление задачами, централизованное логирование и улучшенная ротация/архивация логов; добавлен контроль отправки уведомлений в Telegram.
Основные изменения:
- Валидация и нормализация config.psd1 (проверка Tasks, уникальность Name/LogName, приведение числовых значений и defaults).
- Новый параметр запуска -TaskName — выполнить указанные задачи (выполняются даже если Enabled = $false).
- Поведение Enabled: без аргументов выполняются только Enabled = $true задачи; с -TaskName выполняются указанные задачи независимо от Enabled.
- Главный лог в корне LogDirectory + пер-задачные логи в _log/.
- Ротация: рекурсивный перенос старых логов в Archive/yyyy/MM/... с сохранением структуры; опциональная ZIP-архивация месячных папок и удаление оригиналов (настройка в конфиге).
- Управление уведомлениями: новая опция SendTelegram (по умолчанию — включено), при выключении сообщения записываются в главный лог вместо отправки.
- Новые опции конфигурации: ArchiveCompression, ArchiveKeepOriginal, LogLevel. Добавлен шаблон задачи и подсказка по использованию BOT_TOKEN = $env:SYNC_BOT_TOKEN.
- Документация обновлена: README.md, README.ru.md.
Миграционные заметки:
- Рекомендуется убрать/заменить BOT_TOKEN в репозитории: использовать BOT_TOKEN = $env:SYNC_BOT_TOKEN.
- Перенесены пер-задачные логи в подкаталоги — проверьте внешние интеграции, ожидающие старой структуры.
- По-умолчанию: SendTelegram = $true, ArchiveCompression = $true, ArchiveKeepOriginal = $false.
Как тестировать:
- Скопировать config.psd1.example → config.psd1, отредактировать LogDirectory, BOT_TOKEN/SYNC_BOT_TOKEN, CHAT_ID.
- Запустить без аргументов: sync_share.ps1 (выполняются только включённые задачи).
- Запустить с аргументом: .sync_share.ps1 -TaskName "SQL,fileshare" (выполняются указанные задачи независимо от Enabled).
- Проверить главный лог и пер-задачные логи, содержимое Archive и ZIP-архивы.
Release Notes (English)
Summary: Reliability, configurability and operational improvements: config validation, task invocation control, centralized logging, recursive rotation with optional ZIP compression, and Telegram notification control.
Highlights:
- Config validation/normalization (Tasks, unique Name/LogName, numeric clamping, defaults).
- -TaskName parameter to run specific tasks (runs even if Enabled = $false).
- Default run without args executes only Enabled = $true tasks.
- Main script log + per-task log folders; rotation preserves subfolder structure under Archive/yyyy/MM.
- Optional monthly ZIP compression and removal of originals (configurable).
- SendTelegram flag to disable sending messages (messages written to main log when disabled).
- New config options: ArchiveCompression, ArchiveKeepOriginal, LogLevel. Docs updated.
Files changed: sync_share.ps1, config.psd1, README.md, README.ru.md.
Migration notes: use BOT_TOKEN = $env:SYNC_BOT_TOKEN; per-task logs moved to _log/.
Test steps: copy config example, run sync_share.ps1 and .sync_share.ps1 -TaskName "SQL,fileshare", inspect logs and archives.
New Contributors
Full Changelog: 1.0.1...1.1.0