Настройка backup в Ubuntu 22.04 с помощью Bacula и Duplicity

Системное администрирование

В этой статье мы рассмотрим, как настроить систему резервного копирования на Ubuntu с помощью двух инструментов – Bacula и Duplicity. Оба инструмента предоставляют мощные возможности для резервного копирования и восстановления данных на Ubuntu.

Что такое Bacula?

Bacula – это система резервного копирования с открытым исходным кодом, которая предоставляет мощные функции резервного копирования и восстановления данных на различных операционных системах, включая Ubuntu. Bacula состоит из нескольких компонентов, включая Bacula Director, Bacula Storage Daemon и Bacula File Daemon. Bacula Director является главным компонентом Bacula и управляет всеми операциями резервного копирования и восстановления данных. Bacula Storage Daemon управляет хранением резервных копий, а Bacula File Daemon отвечает за резервное копирование файлов на удаленных машинах.

Что такое Duplicity?

Duplicity – это еще одна система резервного копирования с открытым исходным кодом, которая работает на различных операционных системах, включая Ubuntu. Duplicity особенно полезна для резервного копирования на удаленные серверы, такие как Amazon S3 или Dropbox. Duplicity предоставляет функции резервного копирования и восстановления данных, а также шифрования и автоматической проверки целостности данных.

Кроме того, Вам может быть интересно узнать как создавать и восстанавливать резервные копии больших баз данных MySQL с помощью утилит Sypex Dumper и Adminer. Подробнее в статье: Резервное копирование и работа с большими базами данных.

Как настроить Bacula на Ubuntu 22.04?

Для начала установите Bacula на Ubuntu с помощью следующей команды в терминале:

sudo apt-get install bacula

После установки вам нужно настроить Bacula Director, который управляет всеми операциями резервного копирования и восстановления данных. Отредактируйте файл /etc/bacula/bacula-dir.conf и настройте его в соответствии с вашими потребностями. Ниже приведен пример конфигурационного файла:

Director {
  Name = bacula-dir
  DIRport = 9101
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  Maximum Concurrent Jobs = 1
  Password = "password"
  Messages = Daemon
}

Catalog {
  Name = MyCatalog
  dbname = "bacula"
  DB Address = localhost
  DB Port = 0
  DB User = bacula
  DB Password = "password"
}

FileSet {
  Name = "Full Set"
  Include {
    Options {
      signature = SHA1
    }
    File = /home
  }
  Exclude {
    File = /home/user/tmp
  }
}

Job {
  Name = "BackupClient1"
  JobDefs = "DefaultJob"
  Client = BackupClient1-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = FileStorage
  Priority = 10
  Write Bootstrap = "/var/lib/bacula/%c.bsr"
  Run Before Job = "/etc/bacula/scripts/myscript.sh"
  Run After Job = "/etc/bacula/scripts/myscript.sh"
}

Job {
  Name = "RestoreFiles"
  Type = Restore
  Client=BackupClient1-fd
  FileSet="Full Set"
  Storage = FileStorage
  Pool = Default
  Messages = Standard
  Where = /tmp/bacula-restores
}

Storage {
  Name = FileStorage
  Address = 192.168.1.1
  SDPort = 9103
  Password = "password"
  Device = FileStorageDevice
}

Device {
  Name = FileStorageDevice
  Media Type = File
  Archive Device = /mnt/backup
  LabelMedia = yes
  Random Access = yes
  AutomaticMount = yes
  RemovableMedia = no
}

Client {
  Name = BackupClient1-fd
  Address = 192.168.1.2
  FDPort = 9102
  Password = "password"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}

Schedule {
  Name = "WeeklyCycle"
  Run = Full sun at 23:05
  Run = Differential mon-sat at 23:05
  Run = Incremental mon-sat at 23:05
}

Теперь, когда конфигурация Bacula Director настроена, вам нужно настроить Bacula Storage Daemon, который управляет хранением резервных копий. Отредактируйте файл /etc/bacula/bacula-sd.conf и настройте его в соответствии с вашими потребностями. Ниже приведен пример конфигурационного файла Bacula Storage Daemon:

Storage {
  Name = FileStorage
  Address = 192.168.1.1
  SDPort = 9103
  Password = "password"
  Device = FileStorageDevice
}

Device {
  Name = FileStorageDevice
  Media Type = File
  Archive Device = /mnt/backup
  LabelMedia = yes
  Random Access = yes
  AutomaticMount = yes
  RemovableMedia = no
}

Director {
  Name = bacula-dir
  Password = "password"
}

Убедитесь, что вы правильно настроили свои дисковые устройства и права доступа к папке, которая будет использоваться для хранения резервных копий.

Как настроить Duplicity на Ubuntu 22.04?

Для начала установите Duplicity на Ubuntu с помощью следующей команды в терминале:

sudo apt-get install duplicity

Затем настройте конфигурационный файл Duplicity, который будет использоваться для резервного копирования и восстановления данных. Отредактируйте файл /etc/duplicity/duplicity.conf и настройте его в соответствии с вашими потребностями. Пример конфигурационного файла Duplicity:

[global]
encrypt-key = ABCDEFGH
sign-key = ABCDEFGH
archive-dir = /mnt/backups/duplicity
verbosity = 5
full-if-older-than = 7D
volsize = 250
tempdir = /tmp

[source]
include = /home/user/Documents
exclude = /home/user/Documents/tmp
exclude = /home/user/Documents/cache

[destination]
protocol = sftp
host = backupserver.example.com
user = backupuser
port = 22
path = /mnt/backups/duplicity

Здесь мы указали следующие параметры:

  • encrypt-key: публичный ключ GPG, используемый для шифрования данных.
  • sign-key: публичный ключ GPG, используемый для подписи данных.
  • archive-dir: путь к локальной папке, где будут храниться резервные копии.
  • verbosity: уровень вывода сообщений.
  • full-if-older-than: время, после которого нужно выполнить полную резервную копию.
  • volsize: размер тома резервной копии.
  • tempdir: временная папка для работы Duplicity.

Далее мы указываем источник данных (source) и место назначения (destination). В нашем примере мы выбрали протокол SFTP для передачи данных на удаленный сервер.

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

duplicity sftp://backupuser@backupserver.example.com/mnt/backups/duplicity /home/user/Documents

Эта команда восстановит все файлы из резервной копии на локальный компьютер в папку /home/user/Documents.

Заключение

Bacula и Duplicity – это мощные инструменты для резервного копирования данных на Ubuntu. Bacula обладает более широким функционалом и предназначен для крупных сетей с множеством серверов, а Duplicity – это простой и удобный инструмент для резервного копирования данных на удаленный сервер.

В этой статье мы рассмотрели, как настроить Bacula и Duplicity на Ubuntu, начиная от установки их пакетов и заканчивая настройкой конфигурационных файлов. Надеюсь, эта статья поможет вам выбрать подходящий инструмент для резервного копирования данных и настроить его на своем сервере Ubuntu.

Независимо от того, какой инструмент вы выберете, помните, что резервное копирование данных – это критически важный процесс, который может предотвратить потерю данных в случае сбоя или кибератаки. Не забывайте регулярно проверять свои резервные копии и обновлять их по мере необходимости.

Надеюсь, эта статья была полезной и помогла вам настроить систему резервного копирования на вашем сервере Ubuntu с помощью Bacula или Duplicity. Если у вас есть какие-либо вопросы или комментарии, не стесняйтесь оставлять их внизу.

Оцените статью