Резервное копирование системы Сравнение версий

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:backup [2012/05/07 02:01]
wiki:backup [2016/04/25 01:18] (текущий)
[Создание архива]
Строка 44: Строка 44:
 Теперь можно приступить к созданию архива. Чтобы создать архив с gzip-сжатием,​ выполните Теперь можно приступить к созданию архива. Чтобы создать архив с gzip-сжатием,​ выполните
  
-<​code>​sudo tar -cvzpf /​mnt/​backup/​ubuntu-sda1.tar.gz ​/mnt/root</​code>​+<​code>​sudo tar -cvzpf ​-C /​mnt/​root ​/​mnt/​backup/​ubuntu-sda1.tar.gz ​.</​code>​
  
 (Ключ ''​-p''​ включает сохранение владельцев и прав доступа для файлов ((для суперпользователя этот режим активирован по умолчанию,​ так что его использование,​ вообще-то,​ не обязательно))) (Ключ ''​-p''​ включает сохранение владельцев и прав доступа для файлов ((для суперпользователя этот режим активирован по умолчанию,​ так что его использование,​ вообще-то,​ не обязательно)))
Строка 106: Строка 106:
 Теперь можно распаковать содержимое архива на место Теперь можно распаковать содержимое архива на место
  
-<​code>​sudo tar --same-owner -xvpf /​mnt/​backup/​ubuntu-2010-10-07.tar.bz2 -C /​mnt/​root</​code>​+<​code>​sudo tar --same-owner -xvpf /​mnt/​backup/​ubuntu-2010-10-07.tar.bz2 -C /mnt/root/</​code>​
  
 //(ключ ''​-C''​ задает каталог,​ в который нужно распаковать файлы. ключ ''​%%--%%same-owner''​ сохраняет владельцев файлов при распаковке)//​ //(ключ ''​-C''​ задает каталог,​ в который нужно распаковать файлы. ключ ''​%%--%%same-owner''​ сохраняет владельцев файлов при распаковке)//​
Строка 164: Строка 164:
 <​code>​sudo mount /dev/sdXY /​mnt/​root</​code>​ <​code>​sudo mount /dev/sdXY /​mnt/​root</​code>​
  
-Теперь мы применим одну хитрость - прочистим свободное место от старого мусора (остатков удаленных файлов),​ перезаписав его нулевыми (пустыми) байтами. Эта операция не обязательна,​ но может заметно помочь при сжатии образа. Если сжимать образ не требуется,​ то следующие ​четыре команды вам не нужны. +Теперь мы применим одну хитрость - прочистим свободное место от старого мусора (остатков удаленных файлов),​ перезаписав его нулевыми (пустыми) байтами. Эта операция не обязательна,​ но может заметно помочь при сжатии образа. Если сжимать образ не требуется,​ то следующие ​две команды вам не нужны. 
-<​code>​sudo mount /dev/sdXY /​mnt/​backup +<​code>​sudo dd if=/​dev/​zero of=/​mnt/​root/​zero bs=4M</​code>​
-sudo dd if=/​dev/​zero of=/​mnt/​root/​zero bs=4M</​code>​+
  
 //​(Опция ''​if''​ задает входной файл, в данном случае это ''/​dev/​zero''​ - псевдоустройство,​ генерирующее поток нулевых байтов;​ опция ''​of''​ - выходной файл, в которые записываются наши данные;​ ''​bs''​ задает размер блока, т.е. количество информации,​ считываемой/​записываемой за один раз - в данном случае это 4МБ)// //​(Опция ''​if''​ задает входной файл, в данном случае это ''/​dev/​zero''​ - псевдоустройство,​ генерирующее поток нулевых байтов;​ опция ''​of''​ - выходной файл, в которые записываются наши данные;​ ''​bs''​ задает размер блока, т.е. количество информации,​ считываемой/​записываемой за один раз - в данном случае это 4МБ)//
Строка 178: Строка 177:
 <​code>​sudo umount /​mnt/​root</​code>​ <​code>​sudo umount /​mnt/​root</​code>​
  
-Все, можно приступать к процессу+Все, можно приступать к процессу.
  
 +Монтируем тот раздел,​ куда будем сохранять бэкап
 +<​code>​sudo mount /dev/sdXY /​mnt/​backup</​code>​
 +Выполняем операцию,​ по созданию бэкапа
 <​code>​sudo dd if=/​dev/​sdXY bs=1M conv=noerror | gzip -c > /​mnt/​backup/​root.dd.gz</​code>​ <​code>​sudo dd if=/​dev/​sdXY bs=1M conv=noerror | gzip -c > /​mnt/​backup/​root.dd.gz</​code>​
  
Строка 214: Строка 216:
 Теперь вернитесь на вкладку/​консоль с dd - там вы увидите информацию об объеме скопированных данных и скорости записи. Теперь вернитесь на вкладку/​консоль с dd - там вы увидите информацию об объеме скопированных данных и скорости записи.
  
-Если вы хотите видеть вывод данных о работе dd постоянно (через определенные промежутки времени),​ то во второй консоле следует ввыполнить:​+Если вы хотите видеть вывод данных о работе dd постоянно (через определенные промежутки времени),​ то во второй консоли следует ввыполнить:​
 <​code>​sudo watch -n2 killall -SIGUSR1 dd</​code>​ <​code>​sudo watch -n2 killall -SIGUSR1 dd</​code>​
 в параметре ''​-n2''​ — ''​2''​ означает выполнять команду каждые две секунды. в параметре ''​-n2''​ — ''​2''​ означает выполнять команду каждые две секунды.
Строка 224: Строка 226:
  
 <​code>​sudo umount /​mnt/​backup</​code>​ <​code>​sudo umount /​mnt/​backup</​code>​
- 
  
 ==== Восстановление раздела из образа ==== ==== Восстановление раздела из образа ====
Строка 238: Строка 239:
 Собственно,​ можно приступать (дополнительных манипуляций вроде форматирования раздела в данном случае не требуется) Собственно,​ можно приступать (дополнительных манипуляций вроде форматирования раздела в данном случае не требуется)
  
-<​code>​gzip -dc /​mnt/​root.dd.gz | dd of=/​dev/​sdXY bs=1M conv=noerror</​code>​+<​code>​gzip -dc /​mnt/​root.dd.gz | sudo dd of=/​dev/​sdXY bs=1M conv=noerror</​code>​
  
 Или же для несжатого образа Или же для несжатого образа
Строка 519: Строка 520:
  
 <note tip> <note tip>
-Помимо стандартного gzip-сжатия squashfs также поддерживает ​lzo и lzma. Правда, для этого потребуются некоторые дополнительные манипуляции. Кому интересно ​обращайтесь: [[user>​dimas000]]+Помимо стандартного gzip-сжатия squashfs также поддерживает ​другие алгоритмы, список ​которых можно увидеть,​ выполнив ''​mksquashfs %%--%%help''​. Имейте в виду, что ​поддержка lzma, lzo, xz может отсутствовать в более старых версиях squashfs-tools (идущих в составе старых LiveCD, например). Кроме того, для монтирования таких образов потребуется относительно свежее ядро с поддержкой squashfs соответствующих алгоритмов сжатия (например, см. ''​CONFIG_SQUASHFS_XZ=y''​)
  
 Кроме этого, можно создать образ и без сжатия - для этого используйте ''​mksquashfs''​ с опцией ''​-noD''​ Кроме этого, можно создать образ и без сжатия - для этого используйте ''​mksquashfs''​ с опцией ''​-noD''​
Строка 590: Строка 591:
  
 Подобно ''​cp'',​ ''​rsync''​ работает с файлами,​ а не с блочными устройствами. Особенность ''​rsync''​ в том, что он не копирует файлы, которые уже есть в точке назначения. По умолчанию он проверяет размер и время изменения файлов,​ но можно проверять и хэш (обычно это делается,​ когда нужна повышенная безопасность). Подобно ''​cp'',​ ''​rsync''​ работает с файлами,​ а не с блочными устройствами. Особенность ''​rsync''​ в том, что он не копирует файлы, которые уже есть в точке назначения. По умолчанию он проверяет размер и время изменения файлов,​ но можно проверять и хэш (обычно это делается,​ когда нужна повышенная безопасность).
 +
 +==== Простое использование ====
  
 Синтаксис ''​rsync''​ подобен ''​cp'':​ Синтаксис ''​rsync''​ подобен ''​cp'':​
Строка 600: Строка 603:
  
 "​Умное"​ копирование позволяет сократить время простоя системы. Запускаем ''​rsync''​ прямо на работающей системе,​ данные в которой постоянно изменяется,​ ''​rsync''​ копирует данные,​ скажем,​ в течение нескольких часов. Затем переводим систему в read-only, снова запускаем ''​rsync'',​ теперь он копирует только те файлы, которые изменились за эти несколько часов. Через несколько минут мы имеем полную копию исходной ФС. Время простоя при этом сократилось на порядок по сравнению с оффлайн-копированием. А в некоторых случаях будет достаточно и одного онлайн-копирования без перевода системы в read-only. "​Умное"​ копирование позволяет сократить время простоя системы. Запускаем ''​rsync''​ прямо на работающей системе,​ данные в которой постоянно изменяется,​ ''​rsync''​ копирует данные,​ скажем,​ в течение нескольких часов. Затем переводим систему в read-only, снова запускаем ''​rsync'',​ теперь он копирует только те файлы, которые изменились за эти несколько часов. Через несколько минут мы имеем полную копию исходной ФС. Время простоя при этом сократилось на порядок по сравнению с оффлайн-копированием. А в некоторых случаях будет достаточно и одного онлайн-копирования без перевода системы в read-only.
 +
 +==== Сохранение предыдущих копий ====
 +
 +Строго говоря rsync не является средством резервного копирования -- это средство синхронизации. Это важно при создании регулярных копий, поскольку,​ если какой либо важный файл был удалён в рабочем каталоге источнике -- rsync удалит его и в резервной копии. Для повышения сохранности данных целесообразно сохранять старые резервные копии. Однако простое сохранение нескольких копий потребует много памяти на жёстком диске. Если копии имеют много одинаковых файлов,​ то это приводит к ненужной избыточности. Эту проблему позволяет решить использование жёстких ссылок.
 +
 +Суть состоит в том, что в современных файловых системах (в том числе Ext4) адресация файла производится в два этапа: имя файла указывает на уникальный номер файла (индексный дескриптор или i-node), а этому номеру сопоставлены сами данные. Любое имя файла это, по факту, жёсткая ссылка на этот номер. Следовательно,​ файл (набор данных) может иметь несколько имён и быть разных каталогах,​ а это позволяет устранить избыточность в случае необходимости дублирования файлов (ведь жёсткая ссылка занимает мало памяти). Сами данные не удаляются до тех пор пока не будет запрошено удаление последней жёсткой ссылки.
 +
 +Существенное ограничение состоит в том, что жёсткие ссылки возможны только в пределах одной файловой системы.
 +
 +Синхронизация содержимого каталога для текущей резервной копии с каталогом источником:​
 +<code bash>
 +rsync \
 + --archive \ # сохранять всю дополнительную информацию о файлах
 + --delete --delete-excluded \ # удаление из резервной копии несуществующих в источнике и исключённых файлов
 + --progress \ # выводить информацию о прогрессе передачи
 + "/​home/​user/​Files/"​ \ # каталог источник
 + "/​backup/​latest/"​ \ # каталог для текущей резервной копии
 + --exclude='/​Public/'​ # исключение ненужных каталогов
 +</​code>​
 +В каталоге «''/​backup/​latest/''​» будет создана копия всех необходимых файлов и каталогов из источника и удалено всё лишнее.
 +
 +Создание ещё одной текущей резервной копии без избыточности:​
 +<code bash>
 +cp \
 + --archive \ # сохранять всю дополнительную информацию о файлах
 + --link \ # использовать жёсткие ссылки для файлов - устранение избыточности
 + "/​backup/​latest/"​ \ # источником является полученная выше текущая резервная копия
 + "/​backup/​$(date +%Y-%m-%d_%H-%M-%S)/"​ # пункт назначения - каталог с датой в имени для удобства (см. man date)
 +</​code>​
 +
 +При следующем создании резервной копии rsync удалит в каталоге «''/​backup/​latest/''​» файлы которые были удалены/​исключены/​изменены в каталоге источнике (измененные файлы сначала удаляются,​ а затем записывается новая версия). Однако удалены будут лишь имена файлов (те же жёсткие ссылки),​ сами файлы (данные) сохранены,​ поскольку на них были созданы жёсткие ссылки в соседнем каталоге командой «cp».
  
 ===== Прочие инструменты ===== ===== Прочие инструменты =====
Строка 615: Строка 649:
  
   * [[http://​clonezilla.org/​|сайт проекта]]   * [[http://​clonezilla.org/​|сайт проекта]]
-  * [[http://​clonezilla.org/​download/​sourceforge/​|страница загрузки]]+  * [[http://​clonezilla.org/​downloads.php|страница загрузки]]
   * [[http://​drbl.org/​faq/​|FAQ (часто задаваемые вопросы)]]   * [[http://​drbl.org/​faq/​|FAQ (часто задаваемые вопросы)]]
   * [[http://​clonezilla.org/​related_article/​|документация и руководства (англ.)]]   * [[http://​clonezilla.org/​related_article/​|документация и руководства (англ.)]]
Строка 625: Строка 659:
 ==== Parted Magic ==== ==== Parted Magic ====
  
-[[http://​partedmagic.com|Parted Magic]] - еще один отличный дистрибутив,​ содержащий целую коллекцию средств для бэкапа и восстановления информации,​ работы с дисками и разделами,​ а также восстановления утерянных данных. Он поддерживает множество ФС, [[wiki:​lvm|LVM2]] и [[wpru>​RAID]] (как аппаратный,​ так и программный) и содержит в себе таки средства как [[http://​www.fsarchiver.org|fsarchiver]],​ [[wpru>​GParted]],​ вышеупомянтый Clonezilla, и все, что потребуется для описанных в этой статье способов. Кроме того, в состав дистрибутива входит веб-браузер и некоторое другое дополнительное ПО. Дистрибутив переведен на несколько языков,​ включая русский,​ и имеет полноценный графический интерфейс.+[[http://​partedmagic.com|Parted Magic]] - еще один отличный, но __платный__ ​дистрибутив,​ содержащий целую коллекцию средств для бэкапа и восстановления информации,​ работы с дисками и разделами,​ а также восстановления утерянных данных. Он поддерживает множество ФС, [[wiki:​lvm|LVM2]] и [[wpru>​RAID]] (как аппаратный,​ так и программный) и содержит в себе таки средства как [[http://​www.fsarchiver.org|fsarchiver]],​ [[wpru>​GParted]],​ вышеупомянтый Clonezilla, и все, что потребуется для описанных в этой статье способов. Кроме того, в состав дистрибутива входит веб-браузер и некоторое другое дополнительное ПО. Дистрибутив переведен на несколько языков,​ включая русский,​ и имеет полноценный графический интерфейс. ​
  
   * [[http://​partedmagic.com|сайт проекта]]   * [[http://​partedmagic.com|сайт проекта]]
-  * [[http://​partedmagic.com/​doku.php?​id=programs|список доступных программ]] 
-  * [[http://​partedmagic.com/​doku.php?​id=screenshots|скриншоты]] 
-  * [[http://​partedmagic.com/​doku.php?​id=downloads|страница загрузки]] 
-  * [[http://​sourceforge.net/​projects/​partedmagic/​|страница проекта на SourceForge]] 
  
 +==== LParted ====
 +[[http://​lparted.bezpieka.org/​|LParted]] - полнофункциональный LiveCD, предназначенный в первую очередь для работы с разделами жестких дисков (HDD), безвозвратного удаления или восстановления данных и тестирования оборудования. Основан LiveCD на Lubuntu Linux. LParted является функциональным аналогом Parted Magic.
 +
 +  ​
 <​note>​ <​note>​
 FIXME сюда бы добавить про SystemRescueCD и прочие FIXME сюда бы добавить про SystemRescueCD и прочие
Строка 645: Строка 679:
  
 ===== Ссылки ===== ===== Ссылки =====
 +  * [[http://​forum.ubuntu.ru/​index.php?​topic=192844.0|Обсуждение статьи на форуме]]
   * [[http://​forum.ubuntu.ru/​index.php?​topic=47437.0|обсуждение различных способов резервного копирования на форуме]]   * [[http://​forum.ubuntu.ru/​index.php?​topic=47437.0|обсуждение различных способов резервного копирования на форуме]]
 +  * [[https://​help.ubuntu.com/​community/​BackupYourSystem|Бэкап системы (англ.)]]
   * FIXME побольше ссылок сюда! на статьи всякие разные и прочия   * FIXME побольше ссылок сюда! на статьи всякие разные и прочия
  
- +{{topic> backup}} 
-{{tag> администрирование безопасность backup консоль ​система ​можно_улучшить}}+<style float-right>​[[terms:​теги#​как_узнать_какой_тег_соответствует_той_или_иной_категории|тэг:​ backup]]</​style>​ 
 +{{tag> администрирование безопасность backup консоль можно_улучшить ​Индексная_статья}}