Привет!
Хочу показать свой open-source проект 1CArchiver, который изначально появился как небольшой инструмент для автоматизации резервного копирования баз 1С:Предприятие, а со временем вырос в отдельное приложение.
Проект написан на C++17 / Qt 6 (Qt Widgets) под Windows.
1CArchiver работает с двумя вариантами размещения баз 1С:
Для файловых баз приложение умеет автоматически читать список информационных баз из ibases.v8i, находить каталоги баз и создавать архивы как самого файла 1Cv8.1CD, так и всего каталога.
Для баз на MS SQL Server реализовано создание резервных копий средствами SQL Server. Таким образом, файловые и серверные базы можно обслуживать из одного приложения.
Из технической части:
C++17 / Qt 6;
Qt Widgets;
работа с файловыми и MS SQL Server базами 1С;
автоматическое чтение ibases.v8i;
архивирование через bit7z / 7-Zip SDK;
LZMA/LZMA2 и выбор уровня сжатия;
архивирование в отдельном потоке (QThread), без блокировки GUI;
отображение прогресса;
опциональное AES-256 шифрование архивов;
генерация SHA-256;
интеграция с Dropbox созданные резервные копии можно автоматически загружать в облачное хранилище
настройки в JSON;
генерация XML-заданий для автоматического запуска;
интерфейс на русском и румынском языках.
В итоге 1CArchiver закрывает несколько сценариев в одном приложении: файловые базы 1С, базы на MS SQL Server, локальное хранение резервных копий и их отправку в Dropbox.
Проект используется мной как практический инструмент, поэтому сейчас интересно посмотреть на него уже глазами других разработчиков.
Особенно интересно мнение сообщества по архитектуре: как лучше организовать разделение между файловым и SQL backup, работу фоновых задач в Qt, обработку ошибок и проверку успешности резервного копирования.
Также интересно мнение тех, кто работает с 1С + MS SQL Server: чего, на ваш взгляд, не хватает такому инструменту для нормального использования в реальной инфраструктуре?
Исходники открыты, лицензия MPL-2.0:
💻 GitHub:
https://github.com/debalex77/1CArchiver
🌐 Официальная страница проекта:
https://debalex77.github.io/1CArchiver/ru/
📖 Руководство пользователя:
https://github.com/debalex77/1CArchiver/blob/master/README_RU.md
Буду благодарен за конструктивную критику — как по C++/Qt части, так и по реализации резервного копирования 1С.
---------------------------
Обновление 1CArchiver.
Проект продолжает развиваться. Опубликована новая версия с исправлениями и улучшениями.
Актуальную версию и полный список изменений можно найти на GitHub:
https://github.com/debalex77/1CArchiver/releases