Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
    • Миграция в Yandex Cloud с помощью Хайстекс Акура
    • Защита от сбоев с помощью Хайстекс Акура
    • Настройка SFTP-сервера на Centos 7
    • Резервное копирование ВМ с помощью Хайстекс Акура
    • Резервное копирование в Object Storage с помощью MSP360 Backup (CloudBerry Desktop Backup)
    • Резервное копирование в Object Storage через Duplicati
    • Резервное копирование в Object Storage с помощью Bacula
    • Резервное копирование в Object Storage с помощью Veeam Backup
    • Резервное копирование в Object Storage с помощью Veritas Backup Exec
    • Резервное копирование кластера Managed Service for Kubernetes в Object Storage
    • Развертывание параллельной файловой системы GlusterFS в высокодоступном режиме
    • Развертывание параллельной файловой системы GlusterFS в высокопроизводительном режиме
    • Репликация логов в Object Storage с помощью Data Streams
    • Репликация логов в Object Storage с помощью Fluent Bit
    • Использование Object Storage в Yandex Data Processing
    • Подключить сервер BareMetal к Cloud Backup

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Создайте бакет
  • Создайте сервисный аккаунт
  • Создайте статические ключи доступа
  • Создайте виртуальную машину
  • Настройте AWS CLI
  • Установите Bacula и дополнительные компоненты
  • Настройте базу данных MariaDB
  • Сконфигурируйте хранилище
  • Подготовьте папку для резервного копирования
  • Смонтируйте бакет в файловую систему
  • Настройте компоненты Bacula
  • Настройте Bacula Director
  • Настройте Storage Daemon
  • Создайте пароли для компонентов Bacula
  • Запустите компоненты Bacula
  • Запустите резервное копирование
  • Проверьте резервную копию
  • Восстановите файлы
  • Проверьте восстановленные файлы
  • Как удалить созданные ресурсы
  1. Хранение и восстановление данных
  2. Резервное копирование в Object Storage с помощью Bacula

Резервное копирование в Yandex Object Storage с помощью Bacula

Статья создана
Yandex Cloud
Улучшена
Dmitry A.
Обновлена 7 марта 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
    • Создайте бакет
    • Создайте сервисный аккаунт
    • Создайте статические ключи доступа
  • Создайте виртуальную машину
  • Настройте AWS CLI
  • Установите Bacula и дополнительные компоненты
  • Настройте базу данных MariaDB
  • Сконфигурируйте хранилище
    • Подготовьте папку для резервного копирования
    • Смонтируйте бакет в файловую систему
  • Настройте компоненты Bacula
    • Настройте Bacula Director
    • Настройте Storage Daemon
    • Создайте пароли для компонентов Bacula
    • Запустите компоненты Bacula
  • Запустите резервное копирование
    • Проверьте резервную копию
  • Восстановите файлы
    • Проверьте восстановленные файлы
  • Как удалить созданные ресурсы

Yandex Object Storage можно использовать для резервного копирования и восстановления данных виртуальной машины с помощью утилиты Bacula.

Bacula состоит из нескольких компонентов:

  • Bacula Director — контролирует резервное копирование и восстановление.
  • File Daemon — обеспечивает доступ к файлам для резервного копирования.
  • Storage Daemon — осуществляет чтение и запись файлов на жесткий диск.
  • Catalog — поддерживает каталог файлов для резервного копирования. Каталог хранится в базе данных MariaDB.
  • Bacula Console — консоль управления для взаимодействия с Bacula Director.

Чтобы настроить резервное копирование и восстановление с помощью Bacula:

  1. Подготовьте облако к работе.
  2. Создайте виртуальную машину.
  3. Настройте AWS CLI.
  4. Установите Bacula и дополнительные компоненты.
  5. Настройте базу данных MariaDB.
  6. Сконфигурируйте хранилище.
  7. Настройте компоненты Bacula.
  8. Запустите резервное копирование.
  9. Восстановите файлы.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работыПеред началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки резервного копирования и восстановления входит:

  • плата за вычислительные ресурсы и диски ВМ (см. тарифы Yandex Compute Cloud);
  • плата за хранение данных в бакете и операции с ними (см. тарифы Yandex Object Storage);
  • плата за использование динамического или статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).

Создайте бакетСоздайте бакет

Чтобы создать бакет для резервного копирования в Object Storage:

Консоль управления
  1. Перейдите в консоль управления Yandex Cloud и выберите каталог, в котором будете выполнять операции.
  2. На странице каталога нажмите кнопку Создать ресурс и выберите Бакет.
  3. В поле Имя введите имя бакета.
  4. Задайте параметры публичного доступа на чтение объектов в бакете, получение списка объектов и чтение настроек бакета — Ограниченный.
  5. В поле Класс хранилища выберите Холодное.
  6. Нажмите кнопку Создать бакет.

Создайте сервисный аккаунтСоздайте сервисный аккаунт

Создайте сервисный аккаунт и назначьте ему роль editor.

Создайте статические ключи доступаСоздайте статические ключи доступа

Создайте статические ключи доступа.

Сразу сохраните идентификатор key_id и секретный ключ secret. Получить значение ключа снова будет невозможно.

Создайте виртуальную машинуСоздайте виртуальную машину

Чтобы создать ВМ:

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

  2. В списке сервисов выберите Compute Cloud.

  3. На панели слева выберите Виртуальные машины.

  4. Нажмите кнопку Создать виртуальную машину.

  5. В блоке Образ загрузочного диска выберите публичный образ CentOS 7.

  6. В блоке Расположение выберите зону доступности, в которой будет находиться ВМ.

  7. В блоке Вычислительные ресурсы перейдите на вкладку Своя конфигурация и укажите параметры:

    • Платформа — Intel Ice Lake.
    • vCPU — 2.
    • Гарантированная доля vCPU — 20%.
    • RAM — 2 ГБ.
  8. В блоке Сетевые настройки:

    • В поле Подсеть укажите идентификатор подсети в зоне доступности создаваемой ВМ или выберите облачную сеть из списка.

      • У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав Создать подсеть.

      • Если сети нет, нажмите Создать сеть и создайте ее:

        • В открывшемся окне укажите имя сети и выберите каталог, в котором она будет создана.
        • (Опционально) Выберите опцию Создать подсети, чтобы автоматически создать подсети во всех зонах доступности.
        • Нажмите Создать сеть.
    • В поле Публичный IP-адрес выберите Автоматически, чтобы назначить виртуальной машине случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.

  9. В блоке Доступ выберите SSH-ключ и укажите данные для доступа к ВМ:

    • В поле Логин введите имя пользователя, который будет создан на виртуальной машине, например yc-user.

      Внимание

      Не используйте логин root или другие имена, зарезервированные операционной системой. Для выполнения операций, требующих прав суперпользователя, используйте команду sudo.

    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

      • Нажмите кнопку Добавить ключ.
      • Задайте имя SSH-ключа.
      • Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
      • Нажмите кнопку Добавить.

      SSH-ключ будет добавлен в ваш профиль пользователя организации.

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

  10. В блоке Общая информация задайте имя ВМ: bacula-vm.

  11. Нажмите Создать ВМ.

  12. Дождитесь перехода ВМ в статус RUNNING.

Настройте AWS CLIНастройте AWS CLI

Чтобы настроить утилиту AWS CLI на ВМ bacula-vm:

  1. В консоли управления перейдите на страницу ВМ и узнайте ее публичный IP-адрес.

  2. Подключитесь к ВМ по протоколу SSH.

    Рекомендуемый способ аутентификации при подключении по SSH — с помощью пары ключей. Настройте использование созданной пары ключей: закрытый ключ должен соответствовать открытому ключу, переданному на ВМ.

  3. Обновите установленные в системе пакеты, для этого в терминале выполните команду:

    yum update -y
    
  4. Установите AWS CLI:

    yum install awscli -y
    
  5. Настройте AWS CLI:

    sudo aws configure
    

    Укажите значения параметров:

    • AWS Access Key ID — идентификатор key_id, который вы получили при создании статического ключа.
    • AWS Secret Access Key — секретный ключ secret, который вы получили при создании статического ключа.
    • Default region name — ru-central1.
    • Default output format — json.
  6. Проверьте, что файл /root/.aws/credentials содержит правильные значения параметров key_id и secret:

    sudo cat /root/.aws/credentials
    
  7. Проверьте, что файл /root/.aws/config содержит правильные значения параметров Default region name и Default output format:

    sudo cat /root/.aws/config
    

Установите Bacula и дополнительные компонентыУстановите Bacula и дополнительные компоненты

  1. Установите компоненты Bacula:

    sudo yum install -y bacula-director bacula-storage bacula-console bacula-client
    
  2. Установите базу данных MariaDB:

    sudo yum install -y mariadb-server
    
  3. Установите утилиту s3fs для монтирования бакета Object Storage в файловую систему:

    sudo yum install -y epel-release
    sudo yum install -y s3fs-fuse
    
  4. Установите текстовый редактор nano:

    sudo yum install -y nano
    

Настройте базу данных MariaDBНастройте базу данных MariaDB

  1. Запустите MariaDB:

    sudo systemctl start mariadb
    
  2. Проверьте, что MariaDB запущена:

    sudo systemctl status mariadb | grep Active
    
  3. Включите запуск MariaDB при старте системы:

    sudo systemctl enable mariadb
    
  4. Создайте таблицы БД и настройте права доступа:

    /usr/libexec/bacula/grant_mysql_privileges
    /usr/libexec/bacula/create_mysql_database -u root
    /usr/libexec/bacula/make_mysql_tables -u bacula
    
  5. Настройте безопасность БД:

    sudo mysql_secure_installation
    

    При следующих запросах:

    • Enter current password for root (enter for none) — чтобы пропустить поле, нажмите клавишу Enter.
    • Set root password? [Y/n] — введите Y, установите и подтвердите пароль для суперпользователя. Пароль понадобится на следующем шаге.
    • Remove anonymous users? [Y/n] — чтобы принять значение по умолчанию, нажмите клавишу Enter.
    • Disallow root login remotely? [Y/n] — чтобы принять значение по умолчанию, нажмите клавишу Enter.
    • Remove test database and access to it? [Y/n] — чтобы принять значение по умолчанию, нажмите клавишу Enter.
    • Reload privilege tables now? [Y/n] — чтобы принять значение по умолчанию, нажмите клавишу Enter.
  6. Войдите в командную строку БД и введите пароль суперпользователя root, созданный на предыдущем шаге:

    mysql -u root -p
    
  7. Создайте пароль bacula_db_password для пользователя bacula:

    UPDATE mysql.user SET Password=PASSWORD('bacula_db_password') WHERE User='bacula';
    FLUSH PRIVILEGES;
    exit
    
  8. Настройте использование MySQL-библиотеки для Bacula:

    sudo alternatives --config libbaccats.so
    

    Введите 1, чтобы выбрать MySQL:

      Selection    Command
    -----------------------------------------------
       1           /usr/lib64/libbaccats-mysql.so
       2           /usr/lib64/libbaccats-sqlite3.so
    *+ 3           /usr/lib64/libbaccats-postgresql.so
    
    Enter to keep the current selection[+], or type selection number: 1
    

Сконфигурируйте хранилищеСконфигурируйте хранилище

Подготовьте папку для резервного копированияПодготовьте папку для резервного копирования

  1. Создайте папку для резервного копирования /tmp/bacula:

    sudo mkdir /tmp/bacula
    
  2. Настройте права доступа к папке /tmp/bacula:

    sudo chown -R bacula:bacula /tmp/bacula
    sudo chmod -R 700 /tmp/bacula
    sudo semanage permissive -a bacula_t 
    

Смонтируйте бакет в файловую системуСмонтируйте бакет в файловую систему

  1. Смонтируйте бакет с помощью утилиты s3fs, чтобы загружать резервные копии в Object Storage, для этого выполните команду, указав имя бакета:

    sudo s3fs <имя_бакета> /tmp/bacula \
      -o url=https://storage.yandexcloud.net \
      -o use_path_request_style \
      -o allow_other \
      -o nonempty \
      -o uid=133,gid=133,mp_umask=077
    

    Где:

    • uid=133 — идентификатор пользователя bacula из файла /etc/passwd.
    • gid=133 — идентификатор группы bacula из файла /etc/passwd.
  2. Проверьте права доступа к папке /tmp/bacula:

    sudo ls -la /tmp/bacula/
    

    Результат:

    drwx------.  2 bacula bacula        31 Sep 18 09:16 .
    drwxrwxrwt. 10 root   root         265 Sep 18 08:59 ..
    
  3. Проверьте, что пользователь bacula может создавать файлы в папке /tmp/bacula:

    1. Временно включите оболочку bash для пользователя bacula:

      sudo sed -i "/^bacula/ s@/sbin/nologin@/bin/bash@" /etc/passwd 
      
    2. Создайте произвольный файл в папке /tmp/bacula:

      sudo runuser -l  bacula -c 'touch /tmp/bacula/test.test' 
      
    3. Убедитесь, что файл test.test создан в папке /tmp/bacula:

      sudo ls -la /tmp/bacula | grep test.test 
      
    4. В консоли управления на странице каталога выберите сервис Object Storage и убедитесь, что файл test.test появился в бакете.

    5. Удалите тестовый файл:

      sudo runuser -l  bacula -c 'rm -f /tmp/bacula/test.test' 
      
    6. Отключите оболочку bash для пользователя bacula:

      sudo sed -i "/^bacula/ s@/bin/bash@/sbin/nologin@" /etc/passwd 
      

Настройте компоненты BaculaНастройте компоненты Bacula

Настройте Bacula DirectorНастройте Bacula Director

  1. Откройте конфигурационный файл Bacula Director:

    sudo nano /etc/bacula/bacula-dir.conf
    
  2. Чтобы настроить соединение с Bacula Director, в блоке конфигурации Director добавьте строку DirAddress = 127.0.0.1:

    ...
    Director {                              # define myself
      Name = bacula-dir
      DIRport = 9101                        # Specify the port (a positive integer) on which the Director daemon will listen for Bacula Console connections.
                                            # This same port number must be specified in the Director resource of the Console configuration file.
                                            # The default is 9101, so normally this directive need not be specified.
                                            # This directive should not be used if you specify the DirAddresses (plural) directive.
      QueryFile = "/etc/bacula/query.sql"
      WorkingDirectory = "/var/spool/bacula"
      PidDirectory = "/var/run"
      Maximum Concurrent Jobs = 1
      Password = "@@DIR_PASSWORD@@"         # Console password
      Messages = Daemon
      DirAddress = 127.0.0.1
    }    
    ...
    
  3. Для удобства переименуйте задачу BackupClient1 на BackupFiles:

    ...
    Job {
      Name = "BackupFiles"
      JobDefs = "DefaultJob"
    }
    ...
    
  4. Чтобы назначить /tmp/bacula-restores папкой для восстановленных файлов, в конфигурации задачи RestoreFiles добавьте строку Where = /tmp/bacula-restores:

    ...
    Job {
      Name = "RestoreFiles"
      Type = Restore
      Client=bacula-fd
      FileSet="Full Set"
      Storage = File
      Pool = Default
      Messages = Standard
      Where = /tmp/bacula-restores
    }
    ...
    
  5. В блоке конфигурации FileSet с именем Full Set, в разделе Include:

    • Добавьте строку compression = GZIP в раздел Options для сжатия при резервировании.
    • Укажите File = / для резервирования всей файловой системы.
    ...
    FileSet {
      Name = "Full Set"
      Include {
    	Options {
    	  signature = MD5
    	  compression = GZIP
    	}
    	File = /
      }
      Exclude {
    	File = /var/spool/bacula
    	File = /tmp
    	File = /proc
    	File = /tmp
    	File = /.journal
    	File = /.fsck
      }
    }
    ...
    
  6. В консоли управления перейдите на страницу ВМ и узнайте ее внутренний IP-адрес.

  7. Чтобы настроить исходящее подключение к Storage Daemon, в блоке конфигурации Storage в поле Address укажите внутренний IP-адрес ВМ:

    ...
    Storage {
      Name = File
    # Do not use "localhost" here
      Address = <внутренний_IP-адрес_ВМ>  # N.B. Use a fully qualified name here
      SDPort = 9103
      Password = "@@SD_PASSWORD@@"
      Device = FileStorage
      Media Type = File
    }
    ...
    
  8. Для подключения к БД в блоке конфигурации Catalog укажите пароль для БД dbpassword = "bacula_db_password", созданный при настройке MariaDB:

    ...
    # Generic catalog service
    Catalog {
      Name = MyCatalog
    # Uncomment the following line if you want the dbi driver
    # dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport =
      dbname = "bacula"; dbuser = "bacula"; dbpassword = "bacula_db_password"
    }
    ...
    
  9. Сохраните файл.

  10. Проверьте, что в файле bacula-dir.conf нет синтаксических ошибок:

    sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
    

    Если сообщений об ошибках нет, конфигурация корректна.

Настройте Storage DaemonНастройте Storage Daemon

  1. Откройте конфигурационный файл Storage Daemon:

    sudo nano /etc/bacula/bacula-sd.conf
    
  2. Чтобы настроить входящее соединение со Storage Daemon, в блоке конфигурации Storage, в поле SDAddress укажите внутренний IP-адрес ВМ:

    ...
    Storage {                                      # definition of myself
      Name = BackupServer-sd
      SDPort = 9103                                # Specifies port number on which the Storage daemon listens for Director connections. The default is 9103.
      WorkingDirectory = "/var/spool/bacula"
      Pid Directory = "/var/run/bacula"
      Maximum Concurrent Jobs = 20
      SDAddress = <внутренний_IP-адрес_ВМ>         # This directive is optional, and if it is specified,
                                                   # it will cause the Storage daemon server (for Director and File daemon connections) to bind to the specified IP-Address,
                                                   # which is either a domain name or an IP address specified as a dotted quadruple.
                                                   # If this directive is not specified, the Storage daemon will bind to any available address (the default).
    }
    ...
    
  3. В блоке конфигурации Device укажите папку для резервного копирования Archive Device = /tmp/bacula:

    ...
    Device {
      Name = FileStorage
      Media Type = File
      Archive Device = /tmp/bacula 
      LabelMedia = yes;                   # lets Bacula label unlabeled media
      Random Access = Yes;
      AutomaticMount = yes;               # when device opened, read it
      RemovableMedia = no;
      AlwaysOpen = no;
    }
    ...
    
  4. Сохраните файл.

  5. Проверьте, что в файле bacula-sd.conf нет синтаксических ошибок:

    sudo bacula-sd -tc /etc/bacula/bacula-sd.conf
    

    Если сообщений об ошибках нет, конфигурация корректна.

Создайте пароли для компонентов BaculaСоздайте пароли для компонентов Bacula

Bacula Director, Storage Daemon и File Daemon используют пароли для межкомпонентной аутентификации.

Чтобы установить пароли для компонентов Bacula:

  1. Сгенерируйте пароли для Bacula Director, Storage Daemon и File Daemon:

    DIR_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
    SD_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
    FD_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
    
  2. Поместите пароли в конфигурационные файлы:

    sudo sed -i "s/@@DIR_PASSWORD@@/${DIR_PASSWORD}/" /etc/bacula/bacula-dir.conf
    sudo sed -i "s/@@DIR_PASSWORD@@/${DIR_PASSWORD}/" /etc/bacula/bconsole.conf
    sudo sed -i "s/@@SD_PASSWORD@@/${SD_PASSWORD}/" /etc/bacula/bacula-sd.conf
    sudo sed -i "s/@@SD_PASSWORD@@/${SD_PASSWORD}/" /etc/bacula/bacula-dir.conf
    sudo sed -i "s/@@FD_PASSWORD@@/${FD_PASSWORD}/" /etc/bacula/bacula-dir.conf
    sudo sed -i "s/@@FD_PASSWORD@@/${FD_PASSWORD}/" /etc/bacula/bacula-fd.conf
    

Запустите компоненты BaculaЗапустите компоненты Bacula

  1. Запустите компоненты Bacula:

    sudo systemctl start bacula-dir
    sudo systemctl start bacula-sd
    sudo systemctl start bacula-fd
    
  2. Проверьте, что компоненты Bacula запущены:

    sudo systemctl status bacula-dir
    sudo systemctl status bacula-sd
    sudo systemctl status bacula-fd
    
  3. Настройте запуск компонентов Bacula при старте системы:

    sudo systemctl enable bacula-dir
    sudo systemctl enable bacula-sd
    sudo systemctl enable bacula-fd
    

Запустите резервное копированиеЗапустите резервное копирование

  1. Откройте Bacula Console:

    sudo bconsole
    
  2. Чтобы настроить профиль резервного копирования, создайте метку:

    label
    
  3. Присвойте название MyVolume новому тому:

    Enter new Volume name: MyVolume
    
  4. Чтобы выбрать пул File, введите 2:

    Defined Pools:
         1: Default
         2: File
         3: Scratch
    Select the Pool (1-3): 2
    
  5. Запустите резервное копирование:

    run    
    

    Чтобы запустить задачу BackupFiles, выберите 1:

    A job name must be specified.
    The defined Job resources are:
        1: BackupFiles
        2: BackupCatalog
        3: RestoreFiles
    Select Job resource (1-3): 1
    

    Чтобы подтвердить запуск, введите yes:

    OK to run? (yes/mod/no): yes 
    
  6. Проверьте статус резервного копирования:

    status director
    

    Результат, если резервное копирование выполняется:

    Running Jobs:
    Console connected at 12-Sep-19 07:22
     JobId Level   Name                       Status
    ======================================================================
         2 Full    BackupFiles.2019-09-12_07.22.56_03 is running
    

    Результат, если резервное копирование завершено:

    Running Jobs:
    Console connected at 12-Sep-19 07:25
    No Jobs running.
    ====
    
    Terminated Jobs:
     JobId  Level    Files      Bytes   Status   Finished        Name 
    ====================================================================
         2  Full     32,776    483.6 M  OK       12-Sep-19 07:24 BackupFiles
    
  7. Дождитесь завершения резервного копирования и выйдите из Bacula Console:

    exit
    

Проверьте резервную копиюПроверьте резервную копию

Чтобы убедиться, что резервное копирование выполнено:

Консоль управления
  1. В консоли управления на странице каталога выберите сервис Object Storage.
  2. Откройте бакет.
  3. Убедитесь, что внутри находится объект MyVolume.

Восстановите файлыВосстановите файлы

  1. Чтобы проверить восстановление, предварительно удалите произвольный файл, например утилиту ping:

    sudo rm -f /bin/ping
    
  2. Убедитесь, что утилита ping удалена:

    ping
    

    Результат:

    bash: ping: command not found
    
  3. Войдите в Bacula Console:

    sudo bconsole
    
  4. Запустите полное восстановление:

    restore all
    

    Чтобы запустить восстановление из последней резервной копии, введите 5:

    To select the JobIds, you have the following choices:
        1: List last 20 Jobs run
        2: List Jobs where a given File is saved
        3: Enter list of comma separated JobIds to select
        4: Enter SQL list command
        5: Select the most recent backup for a client
        6: Select backup for a client before a specified time
        7: Enter a list of files to restore
        8: Enter a list of files to restore before a specified time
        9: Find the JobIds of the most recent backup for a client
        10: Find the JobIds for a backup for a client before a specified time
        11: Enter a list of directories to restore for found JobIds
        12: Select full restore to a specified Job date
        13: Cancel
    Select item:  (1-13): 5
    

    Чтобы подтвердить полное восстановление, введите done:

    You are now entering file selection mode where you add (mark) and
    remove (unmark) files to be restored. No files are initially added, unless
    you used the "all" keyword on the command line.
    Enter "done" to leave this mode.
    
    cwd is: /
    done
    

    Чтобы подтвердить запуск восстановления, введите yes:

    OK to run? (yes/mod/no): yes
    
  5. Проверьте статус восстановления:

    status director
    

    Результат, если восстановление выполняется:

    Running Jobs:
    Console connected at 12-Sep-19 07:25
     JobId Level   Name                       Status
    ======================================================================
         3         RestoreFiles.2019-09-12_07.27.42_05 is running
    

    Результат, если восстановление завершено:

    Terminated Jobs:
     JobId  Level    Files      Bytes   Status   Finished        Name 
    ====================================================================
         2  Full     32,776    483.6 M  OK       12-Sep-19 07:24 BackupFiles
         3           32,776    1.136 G  OK       12-Sep-19 07:27 RestoreFiles
    
  6. Дождитесь завершения восстановления и выйдите из Bacula Console:

    exit
    

Проверьте восстановленные файлыПроверьте восстановленные файлы

  1. Убедитесь, что в папке /tmp/bacula-restores появились восстановленные файлы:

    sudo ls -la /tmp/bacula-restores
    

    Результат:

    total 16
    dr-xr-xr-x. 15 root   root    201 Sep 12 07:09 .
    drwx------.  4 bacula bacula   35 Sep 12 07:09 ..
    lrwxrwxrwx   1 root   root      7 Sep 12 07:27 bin -> usr/bin
    dr-xr-xr-x   5 root   root   4096 Sep 12 07:01 boot
    drwxr-xr-x   2 root   root      6 Sep 12 07:22 dev
    drwxr-xr-x  79 root   root   8192 Sep 12 07:07 etc
    drwxr-xr-x   3 root   root     18 Sep 12 07:01 home
    lrwxrwxrwx   1 root   root      7 Sep 12 07:27 lib -> usr/lib
    lrwxrwxrwx   1 root   root      9 Sep 12 07:27 lib64 -> usr/lib64
    drwxr-xr-x   2 root   root      6 Apr 11  2018 media
    drwxr-xr-x   2 root   root      6 Apr 11  2018 mnt
    drwxr-xr-x   2 root   root      6 Apr 11  2018 opt
    dr-xr-x---   3 root   root    217 Sep 12 07:21 root
    drwxr-xr-x   2 root   root      6 Sep 12 07:22 run
    lrwxrwxrwx   1 root   root      8 Sep 12 07:27 sbin -> usr/sbin
    drwxr-xr-x   2 root   root      6 Apr 11  2018 srv
    dr-xr-xr-x   2 root   root      6 Sep 12 07:22 sys
    drwxr-xr-x  13 root   root    155 Mar  4  2019 usr
    drwxr-xr-x  19 root   root    267 Sep 12 07:01 var
    
  2. Убедитесь, что утилита ping находится в папке /tmp/bacula-restores:

    sudo ls -la /tmp/bacula-restores/bin/ping
    

    Результат:

    -rwxr-xr-x 1 root root 66176 Aug  4  2017 /tmp/bacula-restores/bin/ping
    
  3. Скопируйте утилиту ping в основную файловую систему:

    sudo cp /tmp/bacula-restores/bin/ping /bin/ping
    
  4. Убедитесь, что ping работает:

    sudo ping 127.0.0.1 -c 1
    

    Результат:

    PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
    64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.016 ms
    
    --- 127.0.0.1 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.016/0.016/0.016/0.000 ms
    
  5. Чтобы освободить место на диске, удалите копию восстановленных файлов:

    sudo rm -rfd /tmp/bacula-restores/*
    

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Удалите ВМ.
  2. Удалите все объекты из бакета Object Storage.
  3. Удалите бакет Object Storage.
  4. Удалите статический публичный IP-адрес, если вы его зарезервировали.

Была ли статья полезна?

Предыдущая
Резервное копирование в Object Storage через Duplicati
Следующая
Резервное копирование в Object Storage с помощью Veeam Backup
Проект Яндекса
© 2025 ООО «Яндекс.Облако»