3. Резервное копирование

3.1. Зачем нужно резервное копирование?

Резервирование вашей системы означает только возможность ее восстановления, если она была серьезно повреждена, если вы случайно удалили некоторые важные системные файлы, или если кто-нибудь вломился в вашу систему и преднамеренно удалил некоторые файлы. Вам также следует делать резервные копии своих личных данных (сжатых аудиофайлов, изображений, офисных документов, электронных писем, адресной книги и т.п.), для обеспечения их сохранности.

Вам следует резервировать свои данные на подходящий носитель и хранить их в надежном месте. Такое место, по возможности, должно быть подальше от места вашей обычной работы. Вы можете даже иметь две резервные копии - одну на работе, а другую за ее пределами. Вообще говоря, вам следует убедиться в том, что вы сможете восстановить эти резервные копии, если вы хотите, чтобы это было действительно полезным.

3.2. Подготовка своей системы

Возможно, в вашей системе уже установлено все, что необходимо. Также у вас под рукой должен быть загрузочный диск (вы ведь создали его, не так ли?). В настоящее время вы можете создавать резервные копии только при помощи tar и (опционально) утилит сжатия, таких как gzip или bzip2. Смотрите пример в разделе Раздел 3.6, «Пример резервного копирования с использованием tar».

В качестве альтернативы вы можете воспользоваться специализированными программами резервного копирования, такими как Taper, Time Navigator, Arkeia или собственной программой Mandriva Linux - Drakbackup (пожалуйста, обратитесь к разделу Раздел 8, «Резервное копирование и восстановление своих файлов»).

3.3. Что резервировать?

Возможно, это самый сложный вопрос, который задает себе системный администратор, когда приходит время выполнять резервное копирование. Ответ зависит от таких моментов, как: резервируете ли вы только свои личные данные, свои конфигурационные файлы или всю систему? Сколько времени или места это займет? Будете ли вы восстанавливать резервную копию на той же машине/операционной системе или на другой?

Так как эта глава по поиску и устранению неисправностей, мы попробуем сфокусироваться на создании резервных копий, которые позволят нам быстро восстановить нашу систему в том состоянии, в каком она была до того ужасного проишествия, которое привело ее в неработоспособное состояние. Конечно же, вам потребуется зарезервировать свою личную информацию, если вы не хотите потерять ее.

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

Более хитрым вариантом было бы сохранение только тех файлов, которые были изменены, пропуская те, что не изменялись. Это может занять больше времени на планирование, но приведет к более быстрому созданию резервных копий (и более быстрому их восстановлению). Также их «легче» будет переносить с одной машины/ОС на другую.

Чтобы подвести итог, делайте резервные копии всех конфигурационных файлов используемых вами программ и всех конфигурационных файлов, которые вы изменяли. Кроме того, сохраняйте все свои личные (и пользователей вашей системы) файлы с данными. Вы не пожалеете об этом.

3.4. Куда сохранять резервные копии?

Другой большой вопрос, на который необходимо ответить. Все зависит от того, как много информации вам нужно сохранить, как быстро вы хотите делать резервирование, насколько прост доступ к резервным носителям и большой список всякой всячины.

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

Доступные параметры резервного носителя изменяются в отношении его емкости, надежности и скорости. Вы можете комбинировать резервные носители согласно своего плана резервирования, например: магнитные ленты и CD-R/DVD+RW, жесткий диск и магнитные ленты, жесткий диск и CD-R/DVD+RW, и т.п., но учтите, что ваше программное обеспечение может поддерживать, а может и не поддерживать все эти параметры.

3.5. Когда выполнять резервное копирование?

Существует много вариантов планирования резервного копирования. Мы представим вам некоторые из них. Помните, что они не являются обязательными, наилучшими, или единственными. Это просто рекомендации, которыми вы можете руководствоваться при составлении своего собственного графика.

Многие стратегии резервного копирования зависят от используемого вами носителя, от частоты изменения ваших данных и от того, насколько важны эти данные для вас или вашей организации. Например, одна из стратегий подразумевает, что вы могли бы выполнять полное резервирование каждое воскресенье и каждый день - добавочное резервирование (только изменившихся данных). Затем выполнять полное резервирование каждый месяц и сохранять копии по крайней мере в двух местах. Эта политика может оказаться полезной для компании, но не для персонального компьютера. Для личных резервных копий вы можете поразмыслить над чем-то вроде этого: еженедельное резервирование своих файлов на жесткий диск и перенос каждый месяц этих копий на CD-R/DVD+RW или магнитную ленту.

3.6. Пример резервного копирования с использованием tar

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

[Внимание]Внимание

Вам необходимо иметь права на чтение файлов и права на чтение и выполнение для каталогов, которые вы собираетесь скопировать. В противном случае операция резервирования завершится неудачей.

#!/bin/bash

# Создание сжатой резервной копии со всеми указанными каталогами
# и помещение результирующего файла в выбранный вами каталог.

$РЕЗЕРВИРУЕМЫЕ_КАТАЛОГИ="$HOME /etc /var"
$ИМЯ_РЕЗЕРВНОГО_ФАЙЛА=`date '+%b%d%Y'`
$КАТАЛОГ_ДЛЯ_КОПИЙ="/backups"

# Раскомментируйте следующую строку, чтобы сжимать резервные копии
# GZip'ом, или закомментируйте ее, чтобы сжимать их BZip'ом.

#tar cvzf $КАТАЛОГ_ДЛЯ_КОПИЙ/$ИМЯ_РЕЗЕРВНОГО_ФАЙЛА.tar.gz $РЕЗЕРВИРУЕМЫЕ_КАТАЛОГИ

# Здесь выполняем сжатие копий BZip'ом...
# Закомментируйте следующую строку, чтобы сжимать резервные копии
# GZip'ом, или раскомментируйте ее, чтобы сжимать их BZip'ом.

tar cvjf $КАТАЛОГ_ДЛЯ_КОПИЙ/$ИМЯ_BACKUP-ФАЙЛА.tar.bz2 $РЕЗЕРВИРУЕМЫЕ_КАТАЛОГИ

Используйте переменную РЕЗЕРВИРУЕМЫЕ_КАТАЛОГИ для указания каталогов, которые вы хотите включить в резервную копию, и КАТАЛОГ_ДЛЯ_КОПИЙ для указания каталога назначения, в котором будет сохранена резервная копия. Сделайте скрипт выполняемым: откройте терминал и выполните команду chmod 700 backup.sh.

Естественно, позже вы всегда сможете перенести полученный файл tar.bz2 или tar.gz на любой носитель. Вы даже можете выполнять копирование непосредственно на нужный носитель, примонтировав его и изменив соотвественно в скрипте переменную КАТАЛОГ_ДЛЯ_КОПИЙ. Не стесняйтесь совершенствовать этот скрипт, чтобы сделать его более подходящим для своих нужд.

Чтобы узнать как восстановить резервные копии, сделанные таким способом, обратитесь, пожалуйста, к разделу Раздел 4.1, «Пример восстановления с использованием tar».