Skip to content

v1.1.0 — Улучшения конфигурации, логирования, ротации и управления Telegram. EN v1.1.0 — Config, logging, rotation and Telegram control improvements

Choose a tag to compare

@qtronixx qtronixx released this 19 Dec 11:07
· 26 commits to main since this release
112f349

What's Changed

us English version

Кратко: улучшена надёжность и управляемость скрипта резервного копирования: добавлена валидация конфигурации, гибкое управление задачами, централизованное логирование и улучшенная ротация/архивация логов; добавлен контроль отправки уведомлений в 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.

Как тестировать:

  1. Скопировать config.psd1.example → config.psd1, отредактировать LogDirectory, BOT_TOKEN/SYNC_BOT_TOKEN, CHAT_ID.
  2. Запустить без аргументов: sync_share.ps1 (выполняются только включённые задачи).
  3. Запустить с аргументом: .sync_share.ps1 -TaskName "SQL,fileshare" (выполняются указанные задачи независимо от Enabled).
  4. Проверить главный лог и пер-задачные логи, содержимое 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.

@qtronixx in #1

New Contributors

Full Changelog: 1.0.1...1.1.0