□ часто обновляемые данные . При выборе носителя главным критерием должна быть скорость работы, потому что чаще всего эти данные имеют большой размер. Резервное копирование должно производиться максимально короткое время, чтобы сервер не ощутил долговременных нагрузок.
Как видите, политика резервирования зависит от многих факторов. Я постарался показать вам основные принципы, по которым вы должны строить свою схему. Предложенный в этом разделе подход не сможет одинаково подойти для всех систем, но его можно использовать как базовый.
13.5. Резервирование в Linux
Мы будем рассматривать только те возможности, которые уже реализованы в Linux. Я не буду рекламировать сторонние разработки. Я вообще не люблю кого-то выделять, потому что могу недооценить другие продукты, с которыми я не работал или не знаком в достаточной степени.
А что есть встроенного в Linux? Это простые команды копирования и архивирования, которые можно автоматизировать, прописав в планировщике задач. Если резервирование требует выполнения нескольких директив, то из них можно создать файл сценария для ОС, который будет выполнять все необходимое.
Самый простой вариант создания резервной копии — использование команды cp
(копирование файлов). Только в этом случае необходимо обязательно сохранять права доступа к файлу. Вот как может выглядеть команда, дублирующая директорию /homeна примонтированном к системе диске /mnt/resdisk:
cp -a /home /mnt/resdisk
В данном случае я использовал ключ -а
, который равносилен указанию сразу трех ключей ( -dpR
):
□ -d
— не следовать по символьным ссылкам. Мы копируем каталог в таком виде, как он есть;
□ -р
— сохранять права доступа к файлу;
□ -R
— копировать каталоги рекурсивно, чтобы на архивный диск попали все файлы и подкаталоги.
Получается, что команда, показанная выше, идентична следующей:
cp -dpR /home /mnt/resdisk
С помощью этой директивы мы создаем полную копию каталога. А как можно сохранить изменения? Для этого необходимо произвести копирование на тот же диск, только с указанием ключа -u
:
cp -au /home /mnt/resdisk
Таким образом будут скопированы все файлы из директории /home, дата изменения которых позже документов из директории /mnt/resdisk.
Копирование по одному файлу не очень удобно. Лучше, когда все находится под одной крышей. В Linux есть утилита, которая собирает все файлы в один. Этот процесс называют архивированием, но вы должны учитывать, что tar не сжимает файлы. Если вы объединяете файлы общим размером в 2 Мбайта, то архив будет иметь размер чуть больше (размер всех файлов плюс заголовок tar).
Преимущество сборки целой директории в один файл состоит в том, что им проще потом управлять и сжимать специализированными программами.
Для архивирования, как минимум, нужно выполнить команду:
tar cf архив.tar директория
Здесь у нас два параметра:
□ c
— указывает на необходимость создания архива;
□ f
— назначает архивный файл или устройство (по умолчанию используется /dev/rmt0).
Итак, для архивирования директории /homeвыполняем следующую команду:
tar cf backup.tar /home
При использовании параметров cf
файлы в архив попадают с сохранением пути. Если распаковать созданный нами чуть выше архив, то в результате в текущем каталоге будет создана папка /home, а в ней уже будут располагаться все пользовательские директории. Например, если разархивировать из директории /home, то папки пользователей окажутся в /home/home, а если находится в /etc, то пользователи увидят свои директории в /etc/home.
Чтобы добиться правильного результата, нужно перейти в корень диска и выполнять команду там:
cd /
tar xf /home/backup.tar
В данном случае мы из корневого каталога разархивируем резервную копию, которая находится в файле /home/backup.tar.
Помимо этого, для архивных операций могут пригодиться следующие ключи утилиты tar:
□ v
— вывести на экран информацию об архивируемом (или распаковываемом) в данный момент файле;
□ z
— найти и обработать при распаковке gzip-архивы;
□ p
— разархивировать всю информацию о безопасности;
□ d
— найти отличия между архивом и файлом в системе;
□ t
— просмотреть содержимое архива;
□ u
— обновить файлы в архиве, которые были изменены;
Читать дальше
Конец ознакомительного отрывка
Купить книгу