2.9.27.2 Создание резервных копий с помощью утилиты fsbackup
Скачать документСоздание файла конфигурации для резервного копирования
Скрипт создания бэкапа
Скрипт полного восстановления из бэкапа
Создание резервной копии
Восстановление резервной копии
Добавление/удаление директорий в резервной копии
Автоматизированное создание резервных копий
FSBACKUP - утилита для создания инкрементного или полного бэкапа отдельных файлов или целой файловой системы.
Для установки утилиты перейдите в сеанс пользователя root:
su -
и выполните команду:
dnf install fsbackup
После установки программа будет находиться по пути /usr/local/fsbackup/.
Примеры конфигурационных файлов и документация расположены в каталоге /usr/share/doc/fsbackup/.
Создание файла конфигурации для резервного копирования
В конфигурационном файле перечислены настройки, которые используются во время процесса резервного копирования, а также необходимые файлы или директории, которые впоследствии будут сохранены в резервной копии.
Скопируйте пример конфигурационного файла и отредактируйте его. Таким образом можно создавать столько конфигураций резервного копирования, сколько требуется.
Обратите внимание, что каждый конфигурационный файл должен иметь уникальное имя, отличающееся от других конфигурационных файлов, а также отдельный СУЩЕСТВУЮЩИЙ на момент запуска процесса бэкапа каталог сохранения резервной копии.
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
Скрипт создания бэкапа
Далее отредактируйте скрипт создания бэкапа. Создайте для каждого конфигурационного файла свой файл создания бэкапа путем копирования исходного скрипта. Данный файл также имеет пояснения на русском языке.
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.
Скрипт полного восстановления из бэкапа
Для полного восстановления скопируйте и отредактируйте скрипт 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 см. здесь.
Дата последнего изменения: 09.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.