<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация

Резервное копирование с Bacula

Александр Бархатов
Александр Бархатов
Технический писатель
21 февраля 2025 г.
131
21 минута чтения
Средний рейтинг статьи: 3.5

Одним из важных аспектов при организации IT-инфраструктуры является обеспечение процесса  резервного копирования. Регулярное копирование поможет сохранить и легко восстановить важные данные при возникновении сбоев и при потере данных.

Если для резервного копирования небольших фрагментов данных можно использовать такие инструменты, как tar, sp или rsync, то для большого объема данных необходимо использовать более комплексное решение. Одним из таких решений является продукт Bacula — кроссплатформенное клиент-серверное программное обеспечение, которое позволяет создавать резервные копии файлов и директорий, а также СУБД, данных почтовых серверов (Postfix, Exim, Sendmail, Dovecot), системных образов и операционных систем.

Сегодня подробно рассмотрим установку и настройку Bacula на Linux, а также процесс создания резервных копий и восстановления пользовательских данных.

Чтобы начать использовать Bacula, нам понадобится сервер или виртуальная машина с любым предустановленным дистрибутивом Linux. В данной статье мы будем использовать дистрибутив Debian версии 12.

Создание облачного сервера

В рамках этой статьи мы будем использовать облачный сервер Timeweb Cloud.

  1. Входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи Passkey, ВКонтакте, GitHub, Google.
  2. После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».
  3. Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходим дистрибутив Debian версии 12.

Image8

  1. Выбираем регион, в котором будет находиться наш сервер.

Выбирать рекомендуется тот регион, который ближе всего находится к вам физически. У каждого доступного региона справа вверху отображается ping, т.е. время, необходимое для передачи данных с вашего компьютера на сервер. Чем меньше указанное время, тем быстрее будет осуществляться передача данных.

Image12

  1. Далее выбираем необходимую конфигурацию для сервера.

Так как в данной статье будет рассмотрена только установка и базовая настройка Bacula без реальной нагрузки, то для конфигурации сервера мы выберем конфигурацию, включающую в себя одноядерный процессор, 2 ГБ оперативной памяти и 30 ГБ места на NVMe-диске.

В реальности вам необходимо выбирать ту конфигурацию, которая будет удовлетворять вашим потребностям при организации резервного копирования.

Выбираем соответствующий тариф:

Image36

  1. Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети. Если не уверены в настройках, оставьте эти параметры без изменений.
  2. По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS-атак (последняя доступна только в Санкт-Петербурге и в Москве).
  3. Также заранее можно загрузить SSH-ключ, чтобы не входить на север при помощи пароля.
  4. Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.
  5. Для создания сервера необходимо нажать на кнопку «Заказать»:

Image37

Если на вашем аккаунте недостаточно средств, то будет выведено предупреждение о необходимости пополнить баланс. После оплаты и создания сервера откроется Дашборд сервера, где можно будет найти IP-адрес, логин и пароль для подключения.

Что такое Bacula

Bacula представляет собой кроссплатформенное (поддерживает операционные системы Linux, включая отечественные дистрибутивы Astra Linux и ALT Linux, UNIX, Windows, macOS) клиент-серверное программное обеспечение, которое, помимо создания резервных копий, также обладает функционалом по поиску и восстановлению потерянных или поврежденных данных. Управлять Bacula можно как из командной строки, так и при помощи графического интерфейса.

Архитектура Bacula

В основу архитектуры Bacula заложены такие компоненты, как:

  • Director (Bacula Director)

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

  • Storage Daemon (Bacula Storage)

Storage Daemon отвечает за взаимодействие с устройствами хранения данных включая диски, облачные хранилища и т.д. Storage Daemon получает данные от компонента File Daemon и сохраняет их на указанные носители.

  • File Daemon (Bacula File)

Агент, устанавливаемый на клиентских машинах, с помощью которого выполняются операции по резервному копированию.

  • Catalog (каталог)

Bacula использует базу данных (MySQL, PostgreSQL или SQLite) для хранения данных о состоянии выполненных заданий, таких как информация о резервных копиях, списки файлов и история восстановления.

  • Console (Bacula Console, bconsole)

Интерфейс в виде утилиты командной строки для взаимодействия с Bacula. Console позволяет администратору взаимодействовать с основным компонентом Director через интерфейс командной строки (CLI). Существуют также графические интерфейсы, такие как Bacula Web и Baculum.

  • Monitor

Необязательный компонент используемый для мониторинга состояния системы Bacula. Он позволяет отслеживать статусы заданий, демонов и устройств хранения.

Также Bacula обладает следующими дополнительными компонентами:

  • GUI-интерфейc

Например, Bacula Web или Baculum предоставляют удобный графический интерфейс для управления и мониторинга системы.

  • Плагины

Bacula поддерживает множество плагинов для интеграции с различными приложениями (базы данных, системы виртуализации и т. д.).

Создание тестовых данных для резервного копирования

Создадим файлы для тестирования резервного копирования. Хранить их будем в директории /root. Создаем новую директорию test_backups и переходим в нее:

mkdir /root/test_backups && cd /root/test_backups

Далее создаем шесть порядковых файлов файлов при помощи команды:

touch file{1..6}.txt

Также заранее создаем директорию, где будут сохраняться файлы восстановления:

mkdir /root/restored-files
vds

Установка Bacula

В данной статье мы будем производить установку Bacula на один сервер. Также поддерживается вариант установки компонентов программы на разные сервера. Такие компоненты, как Bacula Director, Storage Daemon, Bacula Client (клиентская часть) и СУБД можно установить на отдельные серверы, тем самым организовав децентрализованную систему, которую можно эффективно использовать для резервного копирования нескольких систем, не нагружая при этом один сервер.

Установка всех компонентов будет производиться на Debian версии 12. Также будет использоваться встроенная база данных PostgreSQL (при необходимости можно развернуть отдельно).

Для установки Bacula необходимо выполнить следующее:

  1. Обновляем индекс репозиториев и устанавливаем пакеты серверной и клиентской части Bacula:
apt update && apt -y install bacula-server bacula-client

Также будет установлена СУБД PostgreSQL 15 версии.

1.1. При появлении фразы «Configure database for bacula-director-pgsql with dbconfig-common?» нажимаем на клавишу ENTER:

Image38

1.2. Далее установщик предложит выбрать имя хоста где будет установлена СУБД. Так как мы устанавливаем все на одном сервере, то выбираем пункт localhost

Image9

1.3. При появление фразы «PostgreSQL application password for bacula-director-pgsql» необходимо задать пароль для базы данных:

Image25

Не оставляйте данное поле пустым иначе, будет сгенерирован случайный пароль.

1.4. На следующем шаге необходимо ввести пароль еще раз:

Image14

Далее установка продолжится в обычном режиме.

  1. После того как все необходимые пакеты были установлены, проверим статус компонентов Bacula и Postgresql.

Проверка статуса компонента bacula-director:

systemctl status bacula-director

Image15

Проверка статуса компонента Storage Daemon:

systemctl status bacula-sd

Image18

Проверка статуса компонента File Daemon:

systemctl status bacula-fd

Image10

Проверка статуса СУБД PostgreSQL:

systemctl status postgresql

Image20

Если в статусе всех компонентов отображается active, то Bacula успешно установлена и запущена.

Настройка Bacula

Настройка Bacula осуществляется путем редактирования конфигурационных файлов компонентов программы. По умолчанию все конфигурационные файлы Bacula хранятся в директории /etc/bacula:

Image21

Далее мы будем настраивать каждый компонент Bacula по отдельности.

Настройка Bacula Director

  1. При помощи любого текстового редактора открываем на редактирование конфигурационный файл bacula-dir.conf:
nano /etc/bacula/bacula-dir.conf

Начнем с блока Director, в котором задаются основные настройки для компонента Director:

Director {                            
  Name = 4142939-bi08079-dir
  DIRport = 9101                
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/run/bacula"
  Maximum Concurrent Jobs = 20
  Password = "ohzb29XNWSFISd6qN6fG2urERzxOl9w68"       
  Messages = Daemon
  DirAddress = 127.0.0.1
}

Рассмотрим параметры подробнее:

  • Name

Имя для компонента Director. Представляет собой уникальное имя, идентифицирующее данный Director в конфигурации. Оно используется для связи с другими компонентами, такими как File Daemon и Storage Daemon. По умолчанию в качестве имени используется имя хоста сервера и префикс dir. Например: 4142939-bi08079-dir.

  • DIRport

Порт, который Bacula Director слушает для входящих соединений от консоли управления (bconsole). По умолчанию используется порт 9101.

  • QueryFile

Путь к SQL-файлу со скриптом, используемым для выполнения запросов к базе данных. Этот файл содержит предопределенные SQL-запросы для управления заданиями, проверками, восстановлением данных и т. д. По умолчанию используется путь /etc/bacula/scripts/query.sql.

  • WorkingDirectory

Рабочая директория Bacula Director, где временно сохраняются файлы, создаваемые во время выполнения заданий.

  • PidDirectory

Директория, в которой Bacula Director сохраняет PID-файл (идентификатор процесса). PID-файл помогает отслеживать, запущен ли процесс Director.

  • Maximum Concurrent Jobs

Максимальное количество заданий, которые могут выполняться одновременно. Это ограничение помогает избежать перегрузки системы. По умолчанию задано 20 (означает, что одновременно могут выполняться до 20 заданий).

  • Password

Задается пароль, который используется для аутентификации при подключении консоли управления (bconsole) к компоненту Director. Пароль должен совпадать с тем, который указан в конфигурации консоли.

  • Messages

Имя ресурса сообщений, который определяет, как обрабатываются сообщения об ошибках, предупреждениях и других событиях. В качестве значений можно указать следующие: Daemon, Standard, Custom.

  • DirAddress

IP-адрес, на котором компонент Director прослушивает входящие соединения. Можно задать 127.0.0.1 (локальный хост) или указать внешний IP-адрес сервера. В нашем случае мы укажем 127.0.0.1.

  1. По умолчанию Bacula поставляется со своим экземпляром PostgreSQL который разворачивается на том же хосте что и сама Bacula. В этом случае настройки подключения к базе данных править не надо. Если же база данных будет развернута на отдельном хосте (рекомендуется при использование в production окружениях) то ее данные включая адрес, имя пользователя и пароль пользователя прописываются в блоке Catalog:
Catalog {
  Name = MyCatalog
  dbname = "bacula"; DB Address = "localhost"; dbuser = "bacula"; dbpassword = "StrongPassword4747563"
}

Image40

Расшифровка параметров:

  • dbname

Имя базы данных, в которой будут храниться настройки Bacula. Используемая база данных по умолчанию называется bacula. Сама база данных должна быть создана заранее (при развертывании отдельного инстанса СУБД).

  • DB Address

Адрес, где развернута СУБД. Можно указать как IP-адрес, так и доменное имя. Если СУБД находится на одном хосте вместе с Bacula, то указывается адрес localhost или 127.0.0.1.

  • dbuser

Пользователь, от имени которого будет осуществляться подключение к базе данных для выполнения запросов.

dbpassword

Пароль пользователя, который указан в параметре dbuser. Пароль должен быть задан пользователю заранее.

  1. Переходим к блоку Job с именем RestoreFiles, который отвечает за восстановление файлов. В данном блоке находим параметр Where, в котором необходимо задать полный путь до директории, куда будут сохраняться файлы восстановления из резервной копии. Ранее для восстановленных файлов мы создали отдельную директорию — /root/restored-files, которую мы и укажем:
Job {
  Name = "RestoreFiles"
  Type = Restore
  Client=4244027-bi08079-fd
  Storage = File1
# The FileSet and Pool directives are not used by Restore Jobs
# but must not be removed
  FileSet="Full Set"
  Pool = File
  Messages = Standard
  Where = /root/restored-files
}

Image16

  1. Переходим к блоку Schedule, где настроим расписание, по которому будут создаваться резервные копии.

Создаем расписание сначала для полной (Full) резервной копии, которое будет выполняться каждый понедельник в 0:01, далее будет создаваться дифференциальное резервное копирование (Differential), которое будет выполняться каждое воскресенье с 2-й по 5-ю неделю месяца в 23:05. Далее создаем инкрементальное резервное копирование (Incremental), которое будет выполняться с понедельника по воскресенье в 23:00:

Schedule {
  Name = "WeeklyCycle"
  Run = Full 1st mon at 00:01
  Run = Differential 2nd-5th sun at 23:05
  Run = Incremental mon-sun at 23:00
}

Image41

  1. Далее нам необходимо указать, какие файлы и каталоги будут подпадать под резервную копию. Данная информация указывается в блоке с именем FileSet. Ранее мы создали директорию /root/test_backups, в которой присутствует шесть файлов. Укажем данную директорию в параметре File:
FileSet {
  Name = "Full Set"
  Include {
    Options {
      signature = MD5
    }

    File = /root/test_backups
}

Image22

В блоке FileSet используются следующие параметры:

  • Name: Задает имя для блока FileSet. Имя используется для идентификации набора файлов в конфигурации.
  • Options задает параметры копирования для файлов, определенных в блоке Include.
  • signature = MD5: Указывает тип контрольной суммы (хэш-функции), которая будет использоваться для проверки целостности файлов. Алгоритм MD5 создает 128-битную контрольную сумму. Используется для проверки целостности данных (например, для определения изменений в файлах).
  • Exclude: Блок Exclude в конфигурации программы Bacula используется для указания файлов и директорий, которые исключаются из резервного копирования. Данный блок обычно размещается внутри определения FileSet и действует на файлы/директории, включенные в блок Include.
Exclude {
    File = /var/lib/bacula
    …
  }
  1. Настроим секцию Pool. В Bacula Pool (пул) представляет собой группу томов (volumes), которые используются для хранения данных резервного копирования. Пул помогает организовать и управлять томами, определяя, как данные распределяются, хранятся и удаляются.
Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes                       
  AutoPrune = yes                     
  Volume Retention = 7 days         
  Maximum Volume Bytes = 10G          
  Maximum Volumes = 2                
}
  • Name: Имя пула. В данном случае он называется Default. Это может быть стандартный пул, используемый для заданий по умолчанию.
  • Pool Type: Тип пула. Тип Backup указывает, что данный пул предназначен для хранения резервных копий. Возможные значения:
    • Backup — обычное резервное копирование.
    • Archive — долговременное архивирование.
    • Cloning — клонирование данных.
  • Recycle: Указывает, можно ли перерабатывать тома в пуле (перезаписывать их, когда они больше не нужны). Возможные значения:
    • yes: Тома могут быть повторно использованы.
    • no: Тома нельзя перерабатывать.
  • AutoPrune: Указывает, следует ли автоматически очищать устаревшие или ненужные данные (обрезка томов).
    • yes: Устаревшие тома автоматически очищаются.
    • no: Автоочистка не выполняется.
  • Volume Retention: Указывает период хранения данных на каждом томе. В данном случае том хранит данные 7 дней. По истечении этого времени он становится доступен для переработки (если Recycle = yes).
  • Maximum Volume Bytes: Ограничивает максимальный размер каждого тома в пуле. В данном случае размер каждого тома не превышает 10 ГБ. Если данные превышают этот объем, Bacula создаст новый том (при условии, что не превышено количество томов).
  • Maximum Volumes: Указывает максимальное количество томов в пуле. Пул может содержать не более 2 томов. Если достигнут лимит, старые тома будут переработаны (при условии, что Recycle = yes).
  1. После того как все изменения были внесены, необходимо проверить файл на наличие ошибок:
/usr/sbin/bacula-dir -t -c /etc/bacula/bacula-dir.conf

Если вывод команды будет пустым, то ошибок в синтаксисе файла нет. При наличии ошибок будет указан номер строки и описание ошибки.

  1. Перезапускаем сервис bacula-director:
systemctl restart bacula-director

Настройка Bacula Storage

Следующим этапом настроим Bacula Storage, где будут храниться файлы с резервной копией.

  1. При помощи любого текстового редактора открываем на редактирование конфигурационный файл bacula-sd.conf:
nano /etc/bacula/bacula-sd.conf

Начнем с блока Storage, который используется для описания хранилища данных, где физически будут сохраняться резервные копии:

Storage {                             
 Name = 4149195-bi08079-sd
 SDPort = 9103                  
 WorkingDirectory = "/var/lib/bacula"
 Pid Directory = "/run/bacula"
 Plugin Directory = "/usr/lib/bacula"
 Maximum Concurrent Jobs = 20
 SDAddress = 127.0.0.1
}

Здесь:

  • Name: Имя хранилища, которое идентифицирует конкретный Storage Daemon.
  • SDPort: Номер порта, на котором слушает Storage Daemon. Используемый порт по умолчанию — 9103.
  • WorkingDirectory: Рабочая директория для Storage Daemon. Используется для хранения временных файлов. По умолчанию используется директория /var/lib/bacula.
  • Pid Directory: Указывает директорию, где хранится файл с PID (идентификатор процесса) для Storage Daemon. По умолчанию используется директория /run/bacula.
  • Plugin Directory: Директория, где находятся плагины Bacula для Storage Daemon. Эти плагины могут использоваться для дополнительных функций, таких как шифрование или работа с облачными хранилищами.
  • Maximum Concurrent Jobs: Максимальное количество задач, которые одновременно выполняются при помощи компонента Storage Daemon.
  • SDAddress: IP-адрес, по которому доступен Storage Daemon. Можно указать как IP-адрес, так и доменное имя. Так как в нашем случае Storage Daemon находится на одном сервере вместе с компонентом Director, то в качестве адреса используется localhost.
  1. Следующий блок для настройки — Device, используемый для описания устройств хранения, на которые будут записываться резервные копии.

Устройство может быть физическим (например, ленточный привод) или логическим (каталог на диске). В качестве теста нам будет достаточно одного блока Device. По умолчанию в файле bacula-sd.conf может быть указано более одного блока Device, в котором указываются Virtual Autochanger (виртуальный автозагрузчик) — механизм, который эмулирует работу физического автозагрузчика (автоматического устройства для работы с лентами или другими носителями). Он используется для управления множеством виртуальных носителей, обычно в виде файлов на диске, так, как если бы это были физические ленты в ленточном библиотечном устройстве. 

Находим блок Autochanger, в котором удаляем значение FileChgr1-Dev2 из параметра Device:

Autochanger {
  Name = FileChgr1
  Device = FileChgr1-Dev1
  Changer Command = ""
  Changer Device = /dev/null
}

Image26

Далее в блоке Device ниже указываем полный путь до директории, которую мы создали заранее для хранения файлов резервной копии (/srv/backup). Путь указываем в параметре Archive Device:

Device {
  Name = FileChgr1-Dev1
  Media Type = File1
  Archive Device = /srv/backup
  LabelMedia = yes;                   
  Random Access = Yes;
  AutomaticMount = yes;               
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
}

Image34

Блоки ниже, в которых присутствуют имена FileChgr2 и FileChgr1-dev2, необходимо удалить:

Image5

Описание используемой конфигурации приведено ниже.

Блок Autochanger:

  • Name: Имя автозагрузчика для идентификации (загрузчиков может быть больше одного).
  • Device: Указывает имя устройства, связанного с этим автозагрузчиком. Это имя должно соответствовать имени, указанному в блоке Device в конфигурации Storage Daemon (bacula-sd.conf).
  • Changer Command: Указывает команду или скрипт, который используется для управления автозагрузчиком (например, смена носителей). В нашем примере используется пустое значение — Changer Command = "". Пустое значение указывает, что команда для автозагрузчика не используется. Это характерно для виртуальных автозагрузчиков или простых конфигураций, где смена носителей не требуется.
  • Changer Device: Указывает устройство, связанное с автозагрузчиком. Обычно используется для связи с физическим автозагрузчиком.

Блок Device:

  • Name: Указывает имя устройства. Используется для идентификации этого устройства.
  • Media Type: Указывает тип носителя, с которым связано устройство. Этот параметр должен совпадать с типом носителя, заданным в блоке Pool.
  • Archive Device: Используется для обозначения полного пути к устройству или каталогу, где будут храниться файлы с резервной копией. В нашем примере файлы резервной копии будут храниться в каталоге /srv/backup.
  • LabelMedia: Определяет, должен ли Bacula автоматически маркировать (label) носители, которые еще не были промаркированы.
  • Random Access: Указывает, поддерживает ли устройство произвольный доступ.
  • AutomaticMount: Указывает, следует ли автоматически монтировать устройство при его использовании.
  • RemovableMedia: Указывает, является ли носитель съемным.
  • AlwaysOpen: Указывает, должно ли устройство оставаться открытым постоянно или открываться только при необходимости.
  • Maximum Concurrent Jobs: Указывает максимальное количество задач (jobs), которые могут одновременно использовать это устройство.
  1. Так как ранее мы задали директорию, где будут храниться файлы резервной копии, то создаем ее:
mkdir -p /srv/backup

Укажем в качестве владельца пользователя bacula:

chown bacula:bacula /srv/backup
  1. Далее необходимо проверить файл на наличие ошибок:
/usr/sbin/bacula-sd -t -c /etc/bacula/bacula-sd.conf

Если вывод команды будет пустым, то ошибок в синтаксисе файла нет. При наличии ошибок будет указан номер строки и описание ошибки.

  1. Перезапускаем сервис bacula-sd:
systemctl restart bacula-sd

Создание резервной копии

Резервное копирование в Bacula осуществляется при помощи консольный инструмент bconsole. Запускаем утилиту:

bconsole

Если соединение с компонентом Director будет установлено, то в выводе отобразится статус 1000 OK.

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

В ответ команда вернет список из 5 компонентов системы Bacula которые можно проверить. Если необходимо проверить все компоненты то необходимо ввести цифру 6.

Image31

  1. Для запуска процедуры резервной копии вводим команду run:

Image13

  1. Из списка выбираем опцию BackupClient1 (имя клиента будет отличаться в зависимости от ранее заданного имени в конфигурационном файле) путем ввода цифры 1.
  2. После ввода цифры отобразится подробная информация о проводимой операции по резервному копированию. 

Далее система предложит три варианта действий:

  • yes — начнется процесс резервного копирования;
  • mod — отобразится список параметров, которые можно изменить перед процедурой резервного копирования;
  • no — операция по резервному копированию будет отменена:

Image27

Если была введена опция mod, то утилита отобразит девять параметров которые можно поменять:

Image3

  1. Для создания резервной копии необходимо ввести в терминале yes.

Отобразить список всех процессов по созданию/восстановлению данных, а также их статус можно при помощи команды:

list jobs

Image17

В нашем случае была создана резервная копия с номером 1:

list jobid=1

Image2

Статус T говорит о том, что резервное копирование было успешно выполнено.

Возможные статусы в столбце Terminated Jobs следующие:

  • T (Success) — Задание успешно выполнено.
  • E (Error) — Задание завершилось с ошибкой.
  • A (Canceled) — Задание было остановлено пользователем.
  • F (Fatal) — Задание завершилось с критической ошибкой.
  • R (Running) → Terminated — Задание завершилось после выполнения (с успешным или другим статусом).
  1. Также отслеживать процесс и возможные ошибки резервных копий можно из лог-файла:
cat /var/log/bacula/bacula.log

Image7

  1. После завершения создания резервной копии файл будет сохранен в ранее созданную директорию:

Image24

file Vol-0001

Image32

Восстановление файлов из резервной копии

Ранее мы сделали резервную копию директории /root/test_backups, где располагались шесть файлов с расширением .txt. Предположим, мы удалили или утратили данные файлы. Запустим процесс восстановления, используя следующие шаги:

  1. Переходим в консоль Bacula:
bconsole
  1. Далее вводим команду restore:
restore

Image4

  1. Для восстановления данных доступно 12 различных опций. Мы воспользуемся опцией под цифрой 3 — «Enter list of comma separated JobIds to select», которая принимает уникальный номер совершенной операции. Вводим цифру 3:

5e8cb6f7 3f55 4cc2 B5f5 Cfa8bd5e70f7

  1. Ранее мы создали резервную копию под номером 1. Соответственно используем данный номер введя его в терминале:

Image19

  1. Мы попадаем в режим выбора файлов, которые необходимо восстановить. Наши файлы хранились в каталоге root/test_backups. Переходим туда:

Image33

Как можно увидеть, программа отобразила все ранее сохраненные файлы.

  1. Т.к. нам нужно восстановить всю директорию, то возвращаемся назад на один каталог:
cd . .

И, используя команду mark, отмечаем весь каталог test_backups:

mark test_backups/

Image23

  1. Вводим команду done:
done

Image28

Система выведет финальный отчет о том, какие данные будут восстановлены и куда они будут сохранены. В нашем случае это директория /root/restored-files.

Вводим yes для начала процесса восстановления:

Image30

Проверяем результат восстановления:

Image29

Надежные VDS для ваших проектов

Заключение

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

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
21 февраля 2025 г.
131
21 минута чтения
Средний рейтинг статьи: 3.5
Пока нет комментариев