Bacula linux резервное копирование

Настройка 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

Читайте также:  Linux view file access

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

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

Как настроить 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. Если у вас есть какие-либо вопросы или комментарии, не стесняйтесь оставлять их внизу.

Источник

Bacula

Bacula — это программа резервного копирования, позволяющая вам сохранять, восстанавливать и проверять данные через вашу сеть. Для Bacula существуют клиенты под Linux, Windows и Mac OS X, превращая ее в кросс-платформенное сетевое решение.

Читайте также:  Arch linux wallpapers hd

Обзор

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

~~ **Bacula Director**: сервис, который управляет всеми операциями резервного копирования, восстановления, проверки и архивации. ~~ **Bacula Console**: приложение, позволяющее взаимодействовать с **Director**. Существует три версии **Console**: ~~ текстовая версия, основанная на командной строке. ~~ графический пользовательский интерфейс (GUI) для **Gnome**, основанный на GTK+. ~~ графический интерфейс на базе wxWidgets. ~~ **Bacula File**: она же программа **Bacula Client**. Это приложение устанавливается на машине, на которой производится резервное копирование, и оно отвечает на данные, отправленные по запросу **Director**. ~~ **Bacula Storage**: программа, которая выполняет хранение и восстановление данных на физических носителях. ~~ **Bacula Catalog**: отвечает за поддержку файловых индексов и томов баз данных для всех сохраняемых фалов, допуская быстрое нахождение и восстановление сохраненных файлов. **Catalog** поддерживает три различных базы данных: MySQL, PostgreSQL и SQLite. ~~ **Bacula Monitor**: позволяет отслеживать работу **Director** и сервисов **File** и **Storage**. На данный момент **Monitor** доступен только в виде GTK+ GUI приложения.

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

Установка

При использовании MySQL или PostgreSQL в качестве базы данных, вам уже должны быть доступны эти сервисы. Bacula не будет устанавливать их для вас.

Существует несколько пакетов, содержащих различные компоненты Bacula. Для установки Bacula введите в терминале:

sudo apt-get install bacula

При установке по умолчанию пакет bacula будет использовать базу данных MySQL для Catalog. Если вы хотите использовать SQLite или PostgreSQL, установите соответственно пакет bacula-director-sqlite3 или bacula-director-pgsql.

В процессе установки у вас спросят данные об администраторе базы данных и владельце базы данных bacula. Администратор базы данных требуется для получения необходимых прав на создание базы данных. Дополнительную информацию смотрите в разделе MySQL.

Настройка

Файлы настройки Bacula форматированы на основе ресурсов, включающих директивы, обрамленные фигурными скобками «<>«. Каждый компонент Bacula имеет индивидуальный файл в каталоге /etc/bacula.

Различные компоненты Bacula должны авторизовывать себя друг для друга. Это решается использованием директивы password. Например, пароль в ресурсе Storage файла /etc/bacula/bacula-dir.conf должен соответствовать паролю ресурса Director файла /etc/bacula/bacula-sd.conf.

По умолчанию настраивается задание резервного копирования Client1 для архивирования Bacula Catalog. Если вы планируете использовать сервер для резервного копирования более чем на одном клиенте, вам потребуется изменить имя этого задания на что-то более осмысленное. Для переименования отредактируйте файл /etc/bacula/bacula-dir.conf:

# # Define the main nightly save backup job # By default, this job will back up to disk in Job < Name = "BackupServer" JobDefs = "DefaultJob" Write Bootstrap = "/var/lib/bacula/Client1.bsr" >

В примере имя задания изменено на BackupServer в соответствии с сетевым именем машины. Можете заменить «BackupServer» на соответствующее сетевое имя вашего сервера или другое описательное название.

Читайте также:  Зайти по сети linux

Требуется использовать Console для запросов к Director по поводу заданий, но чтобы обычный пользователь мог использовать Console, он должен быть включен в группу bacula. Чтобы добавить пользователя в группу bacula введите следующую команду в терминале:

sudo adduser $username bacula

Замените $username на актуальное имя пользователя. Также, если вы добавили в группу текущего пользователя, вам придется выйти из системы и зайти снова, чтобы применились новые права доступа.

Резервное копирование локальной системы

Эта секция описывает как сделать резервную копию определенных каталогов на единственном сервере на локальное ленточное устройство.

1. Для начала требуется настроить устройство хранения. Отредактируйте /etc/bacula/bacula-sd.conf, добавив:

Этот пример для ленточного устройства DDS-4. Измените «Media Type» и «Archive Device» в соответствии с вашим оборудованием.

Вы также можете раскомментировать один из примеров в этом файле.

2. После редактирования файла /etc/bacula/bacula-sd.conf сервис Storage требуется перезагрузить:

sudo /etc/init.d/bacula-sd restart

3. Теперь добавьте ресурс Storage в файл /etc/bacula/bacula-dir.conf для использования нового устройства:

# Definition of «Tape Drive» storage device Storage

Директива Address должна быть полностью квалифицированным доменным именем (FQDN) сервера. Замените backupserver на актуальное сетевое имя.

Также убедитесь, что директива Password соответствует строке пароля в /etc/bacula/bacula-sd.conf.

4. Создайте новый FileSet, который будет определять какие каталоги копировать, добавив:

# LocalhostBacup FileSet. FileSet < Name = "LocalhostFiles" Include < Options < signature = MD5 compression=GZIP >File = /etc File = /home > >

Этот FileSet задает резервное копирование для каталогов /etc и /home. Директивы ресурса Options настраивают FileSet на создание контрольных сумм MD5 для каждого сохраненного файла и сжатие файлов с использованием GZIP.

5. Далее создайте новое расписание Schedule для задачи резервного копирования:

# LocalhostBackup Schedule — Daily. Schedule

Задание будет запускаться каждый день в 00:01. Существует множество других доступных опций расписаний.

6. Наконец, создадим задание:

Задание будет выполнять полную резервную копию каждый день на ленту.

7. Каждая используемая лента должна иметь метку. Если текущая лента метки не имеет, Bacula отправит email с оповещением. Чтобы установить метку на ленту с помощью Console, введите в терминале:

8. В командной строке Bacula Console введите:

9. Вам предложат выбрать один из ресурсов Storage:

Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" The defined Storage resources are: 1: File 2: TapeDrive Select Storage resource (1-2):2

10. Введите новое имя тома:

Enter new Volume name: Sunday Defined Pools: 1: Default 2: Scratch

Замените Sunday на соответствующую метку.

11. Теперь выберите накопитель:

Select the Pool (1-2): 1 Connecting to Storage daemon TapeDrive at backupserver:9103 . Sending label command for Volume "Sunday" Slot 0 .

Поздравляем! Вы настроили Bacula на резервное копирование локального сервера на подключенное ленточное устройство.

Источник

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