Windows библиотека на С++ для создания и восстановления бэкапа диска
Цена договорная
•
безналичный расчёт, электронные деньги
Требуется разработать динамическую библиотеку на C++ под Windows, которая содержит набор функций для создания и восстановления бэкапа диска.
Также необходимо дополнительно разработать два консольных приложения (использующих функциональность этой библиотеки), реализующих основные сценарии по созданию и восстановлению бэкапа из командной строки.
Основные требования
- Совместимость с Microsoft Windows 7/8/10 32/64bit
- Бэкап дисков (только фактических данных) с файловой системой NTFS, FAT32 с помощью Volume Shadow Copy Service
- Возможность сохранения дисков других форматов (HFS, EFS и т.д.) по секторам как raw диск
- Возможность работы с MBR и GPT дисками
- Бэкап будет производиться через наш WinPE на базе Windows 10, поэтому разделы при бэкапе будут находиться в "холодном" режиме. Т.е. не будут использоваться
- Данные партиций в бэкапе должны быть зашифрованы с использованием Windows Crypto API
- Возможность восстановления отдельных каталогов и файлов из бэкапа
- Поддержка сетевых имен файлов бэкапа
Динамическая библиотека
Вся основная функциональность по работе с бэкапом должна быть именно в динамической библиотеке, а не в консольных приложениях. Предполагается, что библиотека будет в дальнейшем использоваться в другом стороннем приложении.
Основные группы функций:
- Создание бэкапа
- Восстановление из бэкапа
- Получения информации о данных в файле бэкапа (информация о диске, партициях и структура каталога(ов))
Приложение Backup.exe Создает бэкап выбранного диска, сохраняет его в виде файла в указанном месте. Параметры коммандной строки:
- Номер диска вида PHYSICALDRIVE0 (можно получить с помощью команды "Wmic Diskdrive Get DeviceID")
- Куда записывать бэкап (локальный или сетевой путь)
Backup.exe –-disk=PHYSICALDRIVE0 –-destination="\\10.0.0.1\backup\backupname.bkp"
Приложение Restore.exe Полностью или частично (каталог или файлы) восстанавливает информацию из бэкапа в указанное место (диск или путь). Параметры коммандной строки:
- Путь (в том числе сетевой) к файлу бэкапа
- Куда восстанавливать бэкап (диск или путь)
- При необходимости номер партиции
- При необходимости путь к файлу
Restore.exe --source="\\10.0.0.1\backup\backupname.bkp" --partition=1 file=”\Users\*” --destination=”d:\”
Restore.exe –-source="\\10.0.0.1\backup\backupname.bkp" –destination=PHYSICALDRIVE1
Дополнительная информация
- При необходимости можно использовать исходники из open-source проектов, например http://odin-win.sourceforge.net, если это упростит выполнение работы. Но если используются сторонние исходники, то их структура и качество должно быть приведено к соответствующему виду.
- Использование дополнительных зависимостей и библиотек не приветствуется. Необходимо использовать только то, без чего реально не обойтись.
- Будет code-review, так как далее мы планируем поддерживать данную библиотеку и приложения самостоятельно
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.