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

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

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

Для установки воспользуйтесь утилитой yum:

sudo yum 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