очередной год перлбэкапчика прошел

Apr 30, 2016 22:22

Есть давняя традиция, когда начиная с января каждого года и до какой-то определенной точки автором дорабатывается продукт-утилитка по имени Yasb. Это перловый клиент-сервер, который выполняет функции универсальной системы резервного копирования файлов.

На этот раз доработка затянулась до конца апреля, при этом результат достигнут совершенно изумительный. Перловый бэкап становится не просто невидимой утилитой на серверах, но и смыслом жизни перфекциониста инструментом для надежного хранения файлов рабочих проектов.

Следующим этапом должна стать публикация данной работы в коммьюнити бородачей-админов, подготовка описания, режимов работы, формирование примеров и образцов для быстрого старта. Документация будет двуязычная: на английскои и украинском, причем во втором случае стоит заняться активным словообразованием.


Новые функции проекта Yasb v5 по отношению к прошлой версии:
- добавлена случайная соль в шифрованные файлы;
- используется хэш-атрибут данных и его верификация при загрузке;
- добавлена ротация (очистка старых) файлов на уровне всего репозитория;
- созданы коннекторы для удаленного запуска клиента, установки telnet-сессии;
- режим блочного копирования (резервирования, восстановления) больших файлов, например, образа диска или раздела;
- улучшена функция перепривязки файлов без изменений при их переименовании;
- реализованы режимы master/slave-резервирования, которые обновляют измененные файлы на сервере/клиенте с запретом перезаписи более новых файлов;
- дописана функция получения набора файлов из архива на заданный момент времени;
- напсан простой плагин к Midnight Commander для навигации по репозиторию.

Размер перлового кода составляет целых 56 килобайт.

Основная концепция - это текстовый командный протокол, обеспечиваемый простым консольным сервером, который хранит данные в 3 файлах: актуальный каталог и старые файлы вида "ключ - значение", общий файл фактических данных. Шифрование и сжатие поддерживается на клиенте и сервере, чтобы реализовать разные уровни доверия и функции сравнения дайджеста файлов. Авторизация выполняется фиксированным ключом за счет сопоставления его хэша с одноразовым токеном. Клиент реализует базовые функции управления файлами на сервере, а также включает 3 модуля для задач резервирования. Обход локальных файлов происходит в фоновом треде, пока основной процесс загружает данные с сервера. Достать файлы можно простым терминалом и декодером Base64, зная ключ доступа и симметричный ключ шифрования, если они заданы для репозитория.
Previous post
Up