Home Wiki > SDB:Резервное копирование домашней папки
Sign up | Login

SDB:Резервное копирование домашней папки

tagline: Материал из openSUSE

Статья объясняет как сделать резервную копию домашнего каталога пользователя и описывает простейшие способы резервного копирования данных.

Создание резервной копии /home

Если папка /home с вашими данными находится на отдельном разделе, шансы на появление проблем малы. Тем не менее, где бы ни были ваши данные, резервные копии - это правильная идея.

Что резервируем

Расположение каталога /home на диске

Чтобы выяснить, находится ли /home на отдельном разделе, используйте команду df

df -h |grep /home

Если вы получите что-то вроде

/dev/sda4             122G  8.7G  107G   8% /home

значит /home смонтирован на разделе /dev/sda4. Далее идёт размер раздела (в данном примере 122G), заполненное пространство (8.7G в нашем примере). В процентах отображается также занимаемое пространство от общего объёма раздела. В последнем столбце отображается точка монтирования.

В случае использования lvm, после команды

df -h |grep /home

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

df -h

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

Пример вывода команды df -h при использовании lvm:

Файловая система      Разм  Исп  Дост  Исп% Точка монтирования
rootfs                 15G  5,1G  9,7G  35% /
devtmpfs              1,1G  264K  1,1G   1% /dev
tmpfs                 1,1G  4,0K  1,1G   1% /dev/shm
/dev/mapper/enot-system
                       15G  5,1G  9,7G  35% /
/dev/sda1              98M   29M   65M  31% /boot
/dev/mapper/enot-data
                      279G  273G  6,0G  98% /home
/dev/sdd1             466G   49G  418G  11% /media/2B6FA55D06554343


Если же строка вывода пуста, значит /home - просто папка внутри /.

Размер /home

Dolphin - свойства каталога

Выяснить размер, занимаемый /home, можно или выбрав Свойства/Properties контекстного меню, кликнув правой кнопкой мыши на папке /home в файловом менеджере (Dolphin/Konqueror/Nautilus), или набрав в терминале

du -sh /home/

(можно столкнуться с файлами без права доступа, тогда этот способ не работает)

Результат будет аналогичен

8.5G    /home/

Если у вас установлена другая ОС, скажем, Windows, и она примонтирована в папку /home/windows, размер её установки войдёт в полученный, так же, как и размеры домашних папок других пользователей. Можно задать du путь с большей детализацией. Если вы работаете с учётной записью Vova, в терминале следует набрать

du -sh /home/Vova

Получим что-то наподобие

8.5G    /home/Vova/

Процедуры резервного копирования

tar

Формат архивов tar был придуман для резервного копирования. С его помощью создаются архивы, сохраняющие структуру директорий. Дальнейшие примеры используют gzip-сжатие.

Вместо gzip можно пользоваться bzip2, который лучше сжимает (но сильнее загружает процессор), заменив в параметрах z на j. При ручном именовании архивов имеет смысл менять расширение файлов с .tgz на .tbz, чтобы запомнить, какой компрессор использовался. А можно и вовсе не пользоваться специальным сжатием.

Обычное резервное копирование

Создадим архив домашнего каталога пользователя Vova в файл под названием BoBaBackup.tgz внутри /home.

sudo tar cpzvf /home/BoBaBackup.tgz --same-owner /home/Vova/

Инкрементальное резервное копирование

Можно добавить изменившиеся файлы к уже существующему архиву

sudo tar cvzpnf /home/BoBaBackup.tgz --same-owner /home/Vova/

Сравнить / Проверить

Можно сравнить файлы архива с текущими:

tar tzvf /home/BoBaBackup.tgz -C /home/Vova/

Восстановление

Для восстановления файлов скомандуйте

sudo tar zxvf /home/BoBaBackup.tgz -C /

Либо просто используйте графический архиватор для распаковки. Как вариант можно использовать Midnight Commander (команда mc).

dd

Если /home находится на отдельном разделе диска, с помощью dd можно клонировать раздел целиком или создать его образ.

Следует отмонтировать раздел, с которыми вы будете работать
Убедитесь, что на диске для копирования достаточно свободного места


Клонирование раздела

Копируем /home, находящийся на /dev/sda4 на /dev/sdb2

sudo dd if=/dev/sda4 of=/dev/sdb2

Образ раздела

Копируем /home на /dev/sda4 в файл Vovan3d.dd (в корневой директории)

dd if=/dev/sda4 of=/Vovan3d.dd

Для восстановления, просто скомандуйте

dd if=/Vovan3d.dd of=/dev/sda4


А теперь со сжатием и разбиением образа на части весом в 690 Мб

Создадим серию 690 Мб файлов, содержащих наш диск /dev/sda4:

dd if=/dev/sda4 | gzip -c | split -b 690m - VovaCdKing.dd.gz_

Для восстановления выполняем

cat VovaCdKing.dd.gz_* | gzip -dc | dd of=/dev/hda4

fsarchiver

sudo fsarchiver savefs -Aaz 9 /mnt/another/backup.fsa /dev/sda1

Получается архив lzma максимального сжатия. Опции "A" и "a" указывают не обращать внимания на то, что раздел смонтирован rw и не использовать Acl и user-xattr. Минус данного способа очевиден: нужно иметь fsarchiver на live cd, если восстанавливать резервную копию предполагается с него. "/mnt/another/" - место назначения образа, а "backup.fsa" его название. "/dev/sda1", соответственно, раздел, с которого снимаем образ. В случае использования lvm - заменить на название логической группы.

ПО для резервного копирования

backup-manager - простое приложение для создания резервных копий под GNOME

storeBackup - инструмент для копирования диска на диск

yast2-backup - модуль к YaST2 для работы с резервными копиями

Bacula

rsync

Mondo Rescue

Amanda

Box Backup