9.1 Создание бэкапов fsbackup

СОЗДАНИЕ БЭКАПОВ

FSBACKUP — утилита для создания инкрементного или полного бэкапа отдельных файлов или целой файловой системы. Скачать её можно по ссылке.

Для установки воспользуйтесь утилитой yum или dnf, в зависимости от используемой версии РЕД ОС:
для РЕД ОС версии 7.1 или 7.2:

sudo yum localinstall <путь_до_установочного_пакета>

для РЕД ОС версии 7.3 и старше:

sudo dnf localinstall <путь_до_установочного_пакета>

После установки программа будет находится по следующему пути — /usr/local/fsbackup/

Примеры конфигурационных файлов и документация — /usr/share/doc/fsbackup/

1 Создание файла конфигурации для резервного копирования.

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

Скопируйте пример конфигурационного файла и отредактируйте его. Можно создавать таким образом сколько угодно конфигураций для резервного копирования.

Важно
Учтите, что каждый конфигурационный файл должен иметь уникальное имя, отличающиеся от других таких же файлов, и разный СУЩЕСТВУЮЩИЙ на момент запуска процесса бэкапа каталог сохранения резервной копии.
# cp /usr/share/doc/fsbackup/cfg_example /usr/local/fsbackup/<имя_конфигурационного_файла>
# nano /usr/local/fsbackup/<имя_конфигурационного_файла>

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

  • $cfg_backup_name — имя файла бэкапа
  • $cfg_save_old_backup — сохранение старого бэкапа. По умолчанию старая копия помещается в папку OLD внутри директории бэкапа.
  • $cfg_backup_style — выбор метода бэкапа. По умолчанию установлен инкрементный бэкап.
  • $cfg_local_path — директория хранения бэкапа.
  • $cfg_cache_dir — директория хранения хэша бэкапа. Не должна совпадать с директорией хранения самого бэкапа.
  • __DATA__ — пути к файлам и директориям, которые нужно занести в бэкап.

Для наглядности создадим еще один конфигурационный файл для папок пользователей.

# cp /usr/local/fsbackup/cfg_example /usr/local/fsbackup/cfg_users

# nano /usr/local/fsbackup/cfg_users

Отредактируем необходимые поля.

$cfg_backup_name = "users"; # имя бэкапа

$cfg_save_old_backup = 0; # не сохранять бэкап

$cfg_backup_style = "full_backup"; # создание полного бэкапа

$cfg_local_path = "/mnt/personal"; # директория создания бэкапов

$cfg_cache_dir = "/srv/cache"; # директория для помещения текущих хэшей

# Список файлов и условий для помещения в бэкап.

__DATA__

/srv/user1

/srv/user2

2 Скрипт создания бэкапа

Далее отредактируйте скрипт создания бэкапа. Создайте для каждого конфигурационного файла свой файл создания бэкапа, путем копирования исходного скрипта. Это файл также имеет пояснения на русском языке.

# cp /usr/local/fsbackup/create_backup.sh /usr/local/fsbackup/create_backup_users.sh

Отредактируйте нужные вам параметры.

# nano /usr/local/fsbackup/create_backup_users.sh

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

config_files="cfg_users" # укажите необходимые конфигурации файлы для создания по ним бекакпа.
Важно
Перед запуском бэкапа, убедитесь, что скрипт запуска и конфигурационный файл лежали в одной папке вместе perl-скриптом fsbackup.pl .

3 Скрипт полного восстановления из бэкапа

Для полного восстановления скопируйте и отредактируйте скрипт fsrestore.sh , расположенный по пути usr/local/fsbackup/scripts/

# cp /usr/local/fsbackup/scripts/fsrestore.sh /usr/local/fsbackup/scripts/fsrestore_users.sh
# nano /usr/local/fsbackup/scripts/fsrestore_users.sh
backup_name="users" # имя бэкапа

backup_path="/mnt/personal/" # директория где находится бэкап.

restore_path="/ " # корневая директория куда будут помещены данные, установите /, т.к распаковка происходит с полными путями.

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

СОЗДАНИЕ БЭКАПА

Дополнить архив новыми файлами или создать бэкап

# /usr/local/fsbackup/create_backup_users.sh

ВОССТАНОВЛЕНИЕ ИЗ БЭКАПА

Для восстановления отдельных файлов из бэкапа воспользуйтесь утилитой tar.

  • tar -tf <имя архива> — просмотр директорий в архиве без его распаковки.
  • tar -xf <имя архива> <имя файла> <имя файла> — разархивирование одного или нескольких файлов.

В текущем примере архив бэкапа находится по пути /mnt/personal

После перемещаете по нужному пути извлеченный файл.

Чтобы восстановить все файлы из бэкапа, воспользуйтесь ранее созданным скриптом fsrestore_<…>.sh. Учтите, что файлы, созданные после процедуры бэкапа, останутся,а удаленные файлы или измененные файлы вернутся в исходное состояние. В текущем примере скрипт восстановления назван fsrestore_users.sh

# /usr/local/fsbackup/scripts/fsrestore_users.sh

ДОБАВЛЕНИЕ И УДАЛЕНИЕ НОВЫХ ДИРЕКТОРИЙ В БЭКАП

Для добавления новых директорий в бэкап отредактируйте файл его создания.

Например, добавим пользователя user3 в бэкап users. Для этого добавим папку с данными user3 в конец секции __DATA__. Для удаления директорий из бэкапа удалите путь к директории из файла.

# nano /usr/local/fsbackup/create_backup_users.sh

…

__DATA__

/srv/user1

/srv/user2

/srv/user3

Теперь каталоги трех пользователей будут добавляться в бэкап users.

АВТОМАТИЗАЦИЯ СОЗДАНИЯ БЭКАПОВ

Для автоматизации можно использовать cron. Отредактируйте файл /etc/crontab с помощью текстового редактора:

# nano /etc/crontab

Или специальной команды

# crontab -e

Например, для создания еженедельного бэкапа общей папок пользователей в 23.30 по субботам впишите следующую строку в конец файла.

30 23 * * 6 root /usr/local/fsbackup/create_backup_users.sh

Более подробная инструкция по службе cron находится здесь.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email