Backup Manager — это консольное приложение на Rust с текстовым интерфейсом (TUI), позволяющее создавать резервные копии папок, восстанавливать их и просматривать список бэкапов. Приложение поддерживает настройку папки для хранения бэкапов и отображение прогресса копирования.
- Создание бэкапов выбранных папок.
- Настройка пути для хранения бэкапов.
- Просмотр списка существующих бэкапов.
- Восстановление бэкапа.
- TUI интерфейс с навигацией по вкладкам.
- Установите Rust (если ещё не установлен):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh- Склонируйте репозиторий:
git clone https://github.com/SsSaDdD/backup_manager.git
cd backup_manager- Установите зависимости:
cargo build --releasecargo run- Tab — переключение вкладок.
- Q — выход из приложения.
- Enter — подтвердить путь или выбрать бэкап.
- Стрелки вверх/вниз — выбор бэкапа при восстановлении.
- Ввод текста — указывать путь к исходной папке для бэкапа или к папке хранения бэкапов.
Конфигурация хранится в backup_config.json (создаётся автоматически при первом запуске). Пример содержимого:
{
"default_backup_dir": "backups",
"compression_enabled": false,
"exclude_patterns": [
"node_modules",
"target",
".git"
]
}default_backup_dir— папка, где будут храниться бэкапы.compression_enabled— флаг для будущей реализации сжатия.exclude_patterns— папки, которые игнорируются при бэкапе.
- Перейдите на вкладку
📁 Backup. - Введите путь к исходной папке (можно с пробелами, кавычки автоматически убираются).
- Нажмите Enter.
- Следите за прогрессом в нижней строке состояния.
- Перейдите на вкладку
🔄 Restore. - Выберите нужный бэкап стрелками вверх/вниз.
- Нажмите Enter для начала восстановления.
- Перейдите на вкладку
📂 Backup Dir. - Введите путь к папке для хранения бэкапов.
- Нажмите Enter.
- Путь сохранится в конфигурации.
- Ratatui — TUI интерфейс.
- Crossterm — управление терминалом.
- WalkDir — рекурсивный обход директорий.
- Chrono — работа с датой и временем.
- Indicatif — прогресс-бар.
- Serde — сериализация/десериализация конфигурации.
- Tokio — асинхронный бэкап с прогрессом.