Данная утилита является обёрткой команды rsync (Linux), и предназначена для копирования всего содержимого корневой файловой системы в указываемую директорию. Исключаются из копирования все примонтированные директории и некоторые типы файлов. Таким образом, утилита позволяет сделать копию всей системы, которую впоследствии можно восстановить обратно в случае поломки системы или порчи файлов.
Код написан на языке Rust (v1.15.1) и является моим первым пробным проектиком, написанным на этом языке).
Формат команды:
./root-backup [путь к бекапу] [-h|--help]
Полный вид команды, которую запускает утилита:
sudo rsync -vaHAXS / --exclude={"/dev/","/proc/","/mnt/","/media/","/run/","/sys/","tmp/","temp/","cache/",".cache/","log","history","lost+found/*"} <введённый_путь_к_директории>/ --delete --delete-excluded
####Возможно, в дальнейшем, дополню утилиту следующими возможностями:
Создания архива из скопированных файлов;
Замена rsync на нативный алгоритм копирования;
Восстановление корневой системы из скопированных файлов;
Создание ISO-образов для получения live-cd;
Возможность сетевого копирования по ssh;
GUI версия утилиты.
...