Периодическое создание дампа системы позволяет при необходимости восстанавливать файлы или всю систему целиком в состояние на момент создания дампа. Рассмотрим процесс создания дампа системы и работы с ним штатными утилитами dump и restore. Данными утилитами можно воспользоваться только, если система установлена на файловую систему UFS2.
Создание полного дампа системы
Обычно файлы дампов сохраняют на отдельном «жестком» диске или USB-накопителе. Допустим имеется постоянно подключенный USB-накопитель с файловой системой UFS2, который система определяет как da0s1d. Тогда для создания дампа системы можно воспользоваться скриптом:
#!/bin/sh
dump_disk="/dev/da0s1d"
dump_dir="/backup"
dump_count="5"
dump_count="$((dump_count+=1))"
mkdir -p ${dump_dir}
mount ${dump_disk} ${dump_dir}
if [ $? == 0 ]
then
dump -0Lf - / | 7zz a -si -mx=9 ${dump_dir}/dump_`date +'%Y%m%d_%H%M%S'`.7z >/dev/null
ls -1t ${dump_dir}/dump_* | tail -n+${dump_count} | xargs rm -f
umount ${dump_dir}
fi
В данном скрипте
dump_disk – это накопитель, на который будет сохраняться дамп;
dump_dir – это точка монтирования накопителя, на который будет сохраняться дамп;
dump_count – это максимальное количество дампов для хранения (более старые дампы будут автоматически удаляться).
Если запустить скрипт в терминале под пользователем root (Администратор), не забыв сделать скрипт исполняемым, то в результате будет сохранён полный дамп системы в максимально сжатом при помощи архиватора 7z виде. Имя файла дампа будет включать в себя дату и время его создания.
Вызов данного скрипта можно делать из планировщика заданий cron. Допустим скрипт сохранён как /root/sys_dump.sh. Тогда для создания дампа один раз в неделю в 2:00 ночи с пятницы на субботу достаточно добавить в файл /etc/crontab строку:
0 2 * * 6 root /root/sys_dump.sh
Восстановление некоторых файлов и каталогов
Если известно какой именно файл или каталог необходимо восстановить, то в терминале под пользователем root (Администратор) достаточно выполнить команду:
7zz x -so /backup/dump_file_name.7z | restore -xf - ./file_with_full_path
где
/backup/dump_file_name.7z – сжатый файл дампа,
./file_with_full_path – извлекаемый из дампа файл или каталог (точка и слэш в начале обязательны).
Если точно неизвестно где именно внутри дампа находится нужный файл или каталог, то можно извлечь файлы в интерактивном режиме:
7zz x -so /backup/dump_file_name.7z | restore -if -
В интерактивном режиме можно перемещаться по каталогам с помощью команды cd, просматривать содержимое каталога с помощью команды ls, добавлять файлы и каталоги в список для извлечения с помощью команды add, и наконец, извлечь файлы по созданному списку с помощью команды extract. Подробнее о командах интерактивного режима можно узнать в man restore.
Будьте внимательны: извлекаемые из дампа файлы и каталоги будут сохраняться в текущем каталоге. Поэтому лучше сначала создать временный каталог и перейти в него:
mkdir /tmp/restore
cd /tmp/restore
Полное восстановление системы
Полное восстановление системы может потребоваться в случае внезапного выхода из строя системного «жесткого» диска. После установки нового «жесткого» диска необходимо загрузиться с установочного DVD или USB диска. При этом также необходимо подключить носитель с ранее созданным дампом системы. В меню установщика необходимо выбрать «Выход в командную строку». В командной строке необходимо выполнить команды (предполагается, что носитель с дампом определяется в системе как da0s1d):
mkdir -p /var/dump
mount /dev/da0s1d /var/dump
exit
Далее в установщике необходимо выбрать пункт меню «Установка новой системы» и следовать инструкциям установщика. В окне ввода пути к файлам дистрибутивов указать /var/dump. Файл дистрибутива обязательно должен быть создан как описано выше и иметь расширение .7z. Чтобы не изменились настройки сетевых интерфейсов, диалог настройки сетевого интерфейса, получающего адрес по DHCP, необходимо пропустить.
Добавляя комментарий, убедитесь, что он соответствует теме.
Подумайте, будет ли он интересен другим. Спам, умышленная реклама и личная
переписка не допускаются. Соблюдайте правила русского языка. Комментарии
публикуются после проверки модератором и могут быть удалены без объяснения
причин. Ответы на заданные в комментариях вопросы могут исходить от любого
пользователя и являются неофициальными.