3.8.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.