Налаштування 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. Якщо у вас є будь-які питання або коментарі, не соромтеся залишати їх унизу.

Оцініть статтю