Я узнал и попробовал программу bup, про которую раньше не слышал. Она мне понравилась и показалась очень полезной, поэтому решил написать и поделиться с вами. Bup использует тот же алгоритм, что и rsync для деления файлов на фрагменты и проверки контрольных сумм, так что производительность у него на хорошем уровне.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Особенность bup в том, что она использует гитовский формат хранения данных в репозиториях. При этом не возникает проблем с огромным числом файлов и большим объёмом. Плюс такого хранения в том, что легко создаются инкрементные копии, причём данные могут быть совсем разные с разных хостов. Но если они одинаковые, то станут частью инкрементной копии. Это хорошо экономит дисковое пространство.
Bup умеет делать как локальные бэкапы, так и ходить за ними на удалённые серверы по SSH. Есть простенький встроенный веб интерфейс. Всё управление через консоль. Это в первую очередь консольный инструмент для самостоятельного велосипедостроения. Показываю, как его установить на Debian.
# git clone https://github.com/bup/bup # cd bup # git checkout 0.33 # apt-get build-dep bup # apt install python3-pip # pip install tornado # make # make install
Теперь надо выполнить инициализацию репозитория. По умолчанию, он будет в ~/.bup. Задать его можно через переменную окружения BUP_DIR. Добавим её сразу в .bashrc и применим изменения:
export BUP_DIR=/mnt/backup # source ~./bashrc
Инициализируем репозиторий:
# bup init
Создаём индекс бэкапа. Для примера возьму директорию /etc на сервере:
# bup index /etc
Делаем бэкап, назвав его etc с помощью параметра -n:
# bup save -n local-etc /etc
Посмотреть список репозиториев, файлов или бэкапов можно вот так:
# bup ls # bup ls local-etc # bup ls local-etc/2023-01-31-190941
Бэкап удалённой машины делается примерно так:
# bup index /etc # bup save -r SERVER -n backupname /etc Доступ к серверу надо настроить по ключам.
Восстановление данных:
# bup restore -C ./dest local-etc/latest/etc
Восстановили директорию /etc с ветки latest бэкапа local-etc в директорию /.dest. Соответственно, выбирая разные ветки, вы восстанавливаете данные с того или иного инкрементного бэкапа.
Очень необычная для бэкапов, но при этом весьма удобная схема хранения и работы с данными, точно так же, как с обычными git репозиториями.
У bup есть простенький веб интерфейс, через который можно посмотреть и скачать файлы. По умолчанию он запускается на localhost, поэтому явно указываю интерфейс и порт:
# bup web 172.25.84.75:8080
Если кто-то пользуется bup, поделитесь впечатлением. Программа старая и известная, но я про неё ранее не слышал и не пользовался.
Ранее пакет входил по дефолту в KDE (KDE Neon, Kubuntu) до момента обновления плазмы до qt6. Причём было очень удобно - хороший gui, планировщик, куча настроек, всё работало как часы, в одном окне была и возможность посмотреть все настройки, и восстановить файлы (без консоли, что очень удобно в случае инкрементных копий)....
Но пришло обновление до багованного qt6. RIP bup
В надежде на возващение его GUI осваиваю консольную версию, спасибо за статью!