3.9.26.7 Создание бэкапов с помощью Butterfly Backup
Скачать документ Возможности
Установка
Синтаксис
Команды
Опции
Пример использования
Окружение
- Версия РЕД ОС: 8
- Конфигурация: Сервер графический
- Версия ПО: butterfly-backup-1.12-2
Butterfly Backup — это инструмент для резервного копирования (РК), который использует rsync для синхронизации и сохранения файлов на сервере. Он обеспечивает гибкость в настройке заданий РК.
Butterfly Backup позволяет выполнять полные и инкрементные резервные копии, а также предоставляет возможность восстановления данных.
Возможности
Основные возможности:
автоматизация заданий — позволяет настроить автоматическое выполнение РК в определённое время с использованием cron или других планировщиков заданий;
управление версиями — сохраняет историю изменений файлов, что позволяет восстановить предыдущие версии файлов при необходимости;
фильтрация данных — предоставляет возможность исключать из РК определённые файлы или директории с помощью фильтров;
логирование — записывает подробные логи операций, что облегчает отслеживание процесса РК и устранение возможных проблем;
централизованное хранение — использует центральный сервер для сбора и хранения резервных копий от различных клиентов;
резервное копирование и восстановление системы — позволяет выполнять РК всей системы и её восстановление на другом оборудовании или виртуальной машине;
просмотр содержимого резервных копий — предоставляет возможность детально просматривать содержимое каждой резервной копии;
шифрование — обеспечивает безопасность данных путём шифрования резервных копий перед их передачей на сервер или хранением.
Установка
Установить программу можно либо через графический менеджер пакетов, либо через терминал.
Для установки программы через графический менеджер пакетов dnfdragora перейдите в «Главное меню» — «Администрирование» — «Управление пакетами dnfdragora», выполните поиск необходимого пакета по ключевому слову «butterfly-backup» и отметьте флагом пакет последней версии. После этого нажмите кнопку «Применить» и дождитесь окончания установки пакетов.
Для установки программы через терминал выполните команду (потребуются права администратора):
sudo dnf install butterfly-backup
Для вывода справочной информации о доступных опциях и аргументах butterfly-backup воспользуйтесь командой:
bb --help
Для получения документации через man воспользуйтесь командой:
man bb
Синтаксис
Программа доступна для запуска через терминал при помощи команды следующего вида:
bb [<команды>] [<опции>]
Команды
Основные команды:
config — настройка параметров конфигурации;
backup — запуск процесса РК;
restore — восстановление данных из резервной копии;
archive — архивация, сжатие и упаковка данных для долгосрочного хранения;
list — список доступных резервных копий или архивов;
export — экспорт данных или настроек.
Опции
Опции команды config
Основные опции команды config:
Инициализация конфигурации:
--new, -n — сгенерировать новую конфигурацию;
--remove, -r — удалить существующую конфигурацию;
--init <каталог>, -i <каталог> — изменить местоположение резервных копий;
--delete-host <каталог>, -D <каталог> — удалить все записи для конкретного хоста в каталоге;
--clean <каталог>, -c <каталог> — очистить каталог, если он поврежден, установив значения по умолчанию;
--delete-backup -b — удалить определенный идентификатор РК из каталога.
Развертывание конфигурации:
--deploy <хост>, -d <хост> — развернуть конфигурацию на удаленном хосте, указав его имя или IP-адрес;
--user <имя_пользователя>, -u <имя_пользователя> — указать пользователя удаленного хоста.
Опции команды backup
Основные опции команды backup:
--computer <хост>, -c <хост> — имя хоста или IP-адрес для РК;
--list <список>, -L <список> — файл со списком удаленных хостов или IP-адресов для резервного копирования;
--destination <каталог>, -d <каталог> — каталог назначения для РК;
--mode <значение> — режим РК. Возможные значения:
full — полное резервное копирование;
incremental — добавочное РК выполняется на основе последней резервной копии;
differential — добавочное РК выполняется на основе последней полной резервной копии;
mirror — режим зеркалирования, при котором структура каталогов источника будет точно воспроизведена в пункте назначения.
--data <значение>, -D <значение> — тип данных для РК. Возможные значения:
user — пользовательские данные;
config — конфигурационные файлы;
log — журналы;
application — данные приложений;
system — система.
--custom-data <путь>, -D <путь> — пользовательский каталог для РК;
--user <имя_пользователя>, -u <имя_пользователя> — имя пользователя для авторизации на удаленном хосте;
--type <тип_ОС>, -t <тип_ОС> — тип операционной системы для РК. Возможные значения:
unix — все ос UNIX (Linux, BSD, Solaris);
windows — Windows Vista или более поздней версии;
macos — MacOSX 10.8 или выше.
--compress, -z — сжимать данные;
--retention [<дни> [<количество>], -r [<дни> [<количество>] — период хранения резервных копий (в днях) и минимальное количество хранимых резервных копий;
--parallel <количество>, -p <количество> — количество параллельных заданий;
--timeout <значение>, -T <значение> — задержка ввода/вывода в секундах;
--skip-error, -e — пропускать ошибки;
--rsync-path <путь>, -R <путь> — пользовательский путь для РК;
--bwlimit, -b — ограничение пропускной способности в КБ/с;
--ssh-port, -P — пользовательский SSH-порт;
--exclude <шаблон>, -E <шаблон> — шаблон для исключения файлов;
--start-from <ID>, -s <ID> — новая резервная копия на основании другой резервной копии по ее ID.
Опции команды restore
Основные опции команды restore:
--catalog <каталог>, -C <каталог> — указать каталог, где хранятся резервные копии;
--backup-id <ID>, -i <ID> — указать ID резервной копии для восстановления;
--last, -L — использовать последнюю доступную резервную копию;
--user <имя_пользователя>, -u <имя_пользователя> — имя пользователя для авторизации на удаленном хосте, где происходит восстановление;
--computer <имя_хоста>, -c <имя_хоста> — указать имя хоста или IP-адрес для выполнения восстановления;
--type <тип_ОС> — указать тип операционной системы для выполнения восстановления: Unix, Windows или MacOS;
--timeout <значение>, -T <значение> — указать задержку ввода/вывода в секундах;
--mirror, -m — режим зеркалирования, при котором структура каталогов источника будет точно воспроизведена в пункте назначения;
--skip-error, -e — пропускать ошибки;
--rsync-path <путь>, -R <путь> — пользовательский путь к резервной копии;
--bwlimit, -b — ограничение пропускной способности в КБ/с;
--ssh-port, -P — указать пользовательский SSH-порт;
--exclude <шаблон>, -E <шаблон> — указать шаблон для исключения файлов;
--files <файлы>, -f <файлы> — восстанавливать только указанные файлы.
Опции команды archive
Основные опции команды archive:
--catalog <каталог>, -C <каталог> — каталог с резервной копией;
--days <дни>, -D <дни> — количество дней для хранения архива;
--destination <каталог>, -d <каталог> — каталог назначения для архива.
Опции команды list
Основные опции команды list:
--catalog <каталог>, -C <каталог> — отобразить список резервных копий из указанного каталога;
--backup-id <ID>, -i <ID> — выводить ID резервной копии;
--archived, -a — показывать только архивированные резервные копии;
--cleaned, -c — отобразить только очищенные резервные копии;
--computer <имя_хоста>, -H <имя_хоста> — выводить только совпадающие имена хоста или IP-адреса;
--detail <ID>, -d <ID> — отобразить подробную информацию о файлах и папках для указанного ID резервной копии;
--oneline, -o — выводить информацию в одной строке.
Опции команды export
Основные опции команды export:
--catalog <каталог>, -C <каталог> — каталог с резервной копией;
--backup-id <ID>, -i <ID> — идентификатор конкретной резервной копии для экспорта;
--all, -A — экспортирует все резервные копии;
--destination <каталог>, -d <каталог> — каталог назначения, куда будут экспортированы данные;
--mirror, -m — режим зеркалирования, при котором структура каталогов источника будет точно воспроизведена в пункте назначения;
--cut, -c — удалить исходные данные после экспорта;
--include <шаблон>, -I <шаблон> — паттерны включения определенных файлов или каталогов в экспорт;--exclude <шаблон>, -E <шаблон> — паттерны исключения определенных файлов или каталогов из экспорта;
--timeout <значение> , -T <значение> — задержка ввода/вывода в секундах;
--skip-error, -e — пропускать ошибки во время экспорта;
--rsync-path <путь>, -R <путь> — пользовательский путь для экспорта;
--bwlimit, -b — ограничение пропускной способности в КБ/с;
--ssh-port, -P — пользовательский порт SSH для подключения.
Дополнительные опции
Дополнительные опции:
-h, --help — отобразить справку;
--verbose, -v — включить подробный режим;
--log, -l — создать журналы логов;
--dry-run, -N — режим предварительного запуска;
-version, -V — показать версию.
Пример использования
Рассмотрим настройку сервера и удаленного хоста для создания РК с помощью bb.
1. Генерация SSH ключей. Сгенерируйте пару ключей:
ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Created directory '/home/user/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_rsa Your public key has been saved in /home/user/.ssh/id_rsa.pub The key fingerprint is: SHA256:7L7L6TLN6Lqj6L7PLkLVLPL/LDLFL/iaLA9Bc user@localhost.localdomain
В процессе генерации SSH ключей будут заданы следующие вопросы:
Enter file in which to save the key (/home/user/.ssh/id_rsa): укажите, куда сохранить файл закрытого ключа. По умолчанию он будет сохранен в папку ~/.ssh с именем id_rsa. Имя файла можно изменить.
Enter passphrase (empty for no passphrase): установите пароль для ключа. Пароль используется для дополнительной защиты ключа. Если пароль не требуется, нажмите Enter.
Enter same passphrase again: если пароль был задан, его необходимо повторить, чтобы избежать возможных опечаток.
2. Передача SSH-ключей на удаленный хост. После генерации ключей необходимо передать открытый ключ на удаленный хост. Для этого выполните команду вида:
bb config --deploy <IP-адрес> --user <имя_пользователя>
где:
<IP-адрес> — IP-адрес удаленного хоста;
<имя_пользователя> — имя пользователя, с правами которого будет выполняться РК.
bb config --deploy 192.168.2.15 --user userCopying configuration to 192.168.2.15; write the password: /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user/.ssh/id_rsa.pub" The authenticity of host ' 192.168.2.15 (192.168.2.15)' can't be established. ED25519 key fingerprint is SHA256:PK4OB5HgQpPel67ag9bvi2YgVpD1xaIayo/A. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys user@192.168.2.15's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'user@192.168.2.15'" and check to make sure that only the key(s) you wanted were added.success: Configuration copied successfully on 192.168.2.15!
3. Резервное копирование домашнего каталога пользователя. В качестве примера создайте резервную копию каталога /home на удаленном хосте <IP-адрес> от имени пользователя user. Убедитесь, что каталог ~/backups существует, или создайте его перед выполнением команды.
bb backup --computer 192.168.2.15 --data user --type unix --destination ~/backups --user user# 10.81.101.178:22 SSH-2.0-OpenSSH_9.6 # 10.81.101.178:22 SSH-2.0-OpenSSH_9.6 # 10.81.101.178:22 SSH-2.0-OpenSSH_9.6 # 10.81.101.178:22 SSH-2.0-OpenSSH_9.6 # 10.81.101.178:22 SSH-2.0-OpenSSH_9.6 Start backup 192.168.2.15success: Command rsync -ah --no-links user@192.168.2.15:/home /backups/192.168.2.15/2024_08_27__15_54
4. Просмотр списка резервных копий. Для просмотра списка резервных копий используйте следующую команду, заменив ~/backups на фактический путь к папке резервных копий:
bb list --catalog ~/backups BUTTERFLY BACKUP CATALOG
Backup id: f0e0b12c-656d-11ef-beea-080027d4cbd8
Hostname or ip: 192.168.2.15
Timestamp: 2024-08-28 21:47:13
Backup id: 0f442602-656f-11ef-83c6-080027d4cbd8
Hostname or ip: 192.168.2.15
Timestamp: 2024-08-28 21:55:14
(END)
5. Для получения подробной информации о резервной копии используйте команду:
bb list --catalog ~/backups --backup-id f0e0b12c-656d-11ef-beea-080027d4cbd8 Backup id: f0e0b12c-656d-11ef-beea-080027d4cbd8 Hostname or ip: 192.168.2.15 Type: full Timestamp: 2024-08-28 21:47:13 Start: 2024-08-28 21:47:13 Finish: 2024-08-28 21:47:28 OS: unix ExitCode: 0 Path: /home/user/backups/ 192.168.2.15/2024_08_28__21_47 List: home
где:
- f0e0b12c-656d-11ef-beea-080027d4cbd8 — это идентификатор РК, который был получен на предыдущем шаге.
6. Для просмотра файлов в конкретной РК используйте команду:
bb list --catalog ~/backups --detail f0e0b12c-656d-11ef-beea-080027d4cbd8
7. Для восстановления файлов из определённой резервной копии, используйте команду:
bb restore --catalog ~/backups --last --user user --computer 192.168.2.15 --type unix--verbose debug: Build a rsync command debug: Command flags are: rsync -ahu --no-perms --no-owner --no-group -vP --log-file=/home/user/backups/ 192.168.2.15/2024_08_28__21_47/restore.log Want to do restore path /home/user/backups/192.168.2.15/2024_08_28__21_47/home/*? To continue? [y/N] y Start restore 192.168.2.15 debug: rsync command: rsync -ahu --no-perms --no-owner --no-group -vP --log-file=/home/user/backups/192.168.2.15/2024_08_28__21_47/restore.log /home/user/backups/192.168.2.15/2024_08_28__21_47/home/* user@192.168.2.15:/home sending incremental file list user/.cache/ user/.config/ user/.local/share/ sent 269,43K bytes received 711 bytes 180,09K bytes/sec total size is 891,06M speedup is 3.298,53 success: Command rsync -ahu --no-perms --no-owner --no-group -vP --log-file=/home/user/backups/192.168.2.15/2024_08_28__21_47/restore.log /home/user/backups/192.168.2.15/2024_08_28__21_47/home/* user@ 192.168.2.15:/home
8. Для архивации старых резервных копий, которые старше определённого количества дней, используйте:
bb archive --catalog ~/backups --days 365 --destination ~/archive
9. Для копирования всех резервные копий в другую папку используйте:
bb export --catalog <каталог_с_РК> --all --destination <каталог_для_экспорта> Start export all_backup success: Command rsync -ahu --no-perms --no-owner --no-group --safe-links /home/user/backups/ /home/user/backups1
Дата последнего изменения: 24.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.