Чтение онлайн

на главную - закладки

Жанры

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Использование

tar

Утилита

tar
— одна из самых популярных программ, используемых для резервного копирования в системах Linux и UNIX. Она объединяет несколько файлов в один файл архива, что упрощает передачу информации по сети и сохранение ее на резервном носителе. Название программы представляет собой сокращение слов tape archive (архив на ленте). Утилиту
tar
можно использовать для организации резервного копирования как по инициативе клиента, так и по инициативе сервера. Вместо
tar
в системе Linux могут применяться и другие подобные программы, например
cpio
или
dump
. Особенности работы с ними описаны в документации на программы и в справочной системе Linux. В данной главе обсуждается лишь программа
tar
; ей уделено особое внимание потому, что она наиболее популярна среди пользователей, а также потому, что она используется другими инструментальными средствами, например
smbtar
и AMANDA.

Возможности tar

Утилита

tar
— чрезвычайно мощный инструмент; она поддерживает большое количество опций. Опции программы
tar
делятся на две категории: команды и модификаторы. Команды указывают утилите
tar
, какие действия она должна выполнить, например, создать архив, вывести содержимое существующего архива, извлечь файлы и т.д. Модификаторы уточняют действия программы. С их помощью можно определить устройство, на которое следует записать архив, указать файлы, которые необходимо включить в архив, или задать сжатие архива посредством
gzip
или
bzip2
и т.д. Утилита
tar
вызывается следующим образом:

tar команда [модификаторы] имена_файлов

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

tar
включает в состав архива все файлы и все подкаталоги этого каталога. Чтобы создать архив всей файловой системы, надо указать корневой каталог (
/
).

В табл. 17.1 и 17.2 перечислены наиболее часто используемые команды и модификаторы утилиты

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

Таблица 17.1. Часто употребляемые команды утилиты

tar

Команда Сокращенный вариант Описание
– -create
с
Создает архив
– -concatenate
A
Добавляет tar-файл к существующему архиву
– -append
r
Добавляет обычные файлы к существующему архиву
– -update
u
Добавляет файлы, которые имеют более позднюю дату создания, чем файлы с соответствующими именами, присутствующие в составе архива
– -diff
или
– -compare
d
Сравнивает файлы в архиве с файлами на диске
– -list
t
Выводит содержимое архива
– -extract
или
– -get
x
Извлекает файлы из архива

Таблица 17.2. Часто употребляемые модификаторы утилиты

tar

Модификатор Сокращенный вариант Описание
– -absolute-paths
P
Сохраняет символ
/
в начале пути к файлу
– -bzip2
I
Задает обработку архива с помощью
bzip2
. (В старых версиях
tar
не поддерживается)
– -directory каталог
C
Перед обработкой данных делает указанный каталог текущим
– -exclude файл
(отсутствует) Запрещает включать файл в архив
– -exclude-from файл
X
Запрещает включать в архив файлы, указанные в данном файле
– -file [узел:]файл
f
Выполняет архивирование, используя в качестве архива указанный файл на указанном узле. (Узел сети указывается при выполнении резервного копирования, инициируемого клиентом.)
– -gzip
или
– -ungzip
z
Задает обработку архива программой
gzip
или
ungzip
– -listed-incremental=файл
g
Создает или использует файл, содержащий результаты инкрементного копирования
– -multi-volume
M
Задает обработку архива на нескольких лентах
– -one-file-system
1
Сохраняет или восстанавливает только одну файловую систему
– -same-permissions
или
– -preserve-permissions
p
Сохраняет
информацию о пользователях и о правах доступа
– -tape-length N
L
Определяет длину ленты в килобайтах; используется совместно с
– -multi-volume
– -verbose
v
Выводит информацию об обработанных файлах
– -verify
W
Сразу после записи сравнивает исходный файл с файлом, записанным в архив

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

/dev/st0
или
/dev/nst0
. Для создания резервной копии содержимого каталога
/home
с сохранением прав доступа и с выводом имен архивируемых файлов надо задать следующую команду:

# tar --create --verbose --file /dev/st0 /home

Если указать сокращенные обозначения опций, приведенные в табл. 17.1 и 17.2, то данная команда примет вид:

# tar cvf /dev/st0 /home

Некоторые опции программы

tar
(а именно
– -one-file-system
,
– -same-permission
s,
– -listed-incremental
и
– -verify
) заслуживают более подробного обсуждения. В состав файловой системы Linux могут входить виртуальные файловые системы (например,
/proс
) и сменные носители. Кроме того, не исключено, что вы захотите запретить резервное копирование файловых систем, находящихся на некоторых устройствах. При использовании опции
– -one-file-system
копироваться будут только те разделы, которые вы непосредственно укажете. Вместо
– -one-file-system
можно задать опцию
– -exclude
или
– -exclude-from
, которая позволяет непосредственно исключать из процесса резервного копирования некоторые каталоги, например
/proc
.

Опция

– -same-permissions
важна при работе с системными файлами, поскольку в ряде случаев утилита
tar
теряет некоторые данные о правах доступа. Чаще всего это проявляется, когда конкретные права не соответствуют значению
umask
. Опция
– -same-permissions
бывает необходима при восстановлении сохраненных файлов.

Если при вызове

tar
указана опция
– -listed-incremental
, программа создает новый файл либо использует имеющийся с информацией о файлах, включенных в архив. При пером запуске
tar
с этой опцией создается файл для хранения сведений об архиве, и все указанные файлы помещаются в архив. При последующих вызовах утилиты
tar
с опцией
– -listed-incremental
обрабатываются только те файлы, которые были созданы или модифицированы с момента последней операции резервного копирования. Другими словами, данная опция позволяет вместо полного резервного копирования осуществлять частичное, или инкрементное, копирование. Многие администраторы раз в неделю или раз в месяц выполняют полное копирование и ежедневно — частичное. Такой подход позволяет обеспечить сохранность данных минимальными усилиями. (Восстанавливая информацию с резервной копии, созданной посредством инкрементного копирования, вы, возможно, обнаружите, что недавно удаленные файлы снова появились на диске. Дело в том, что при инкрементном копировании файлы, которые были удалены с момента последнего полного копирования, не помечаются как отсутствующие.) Выполняя резервное копирование в сетевом окружении, целесообразно в разные дни недели осуществлять полное копирование информации на разных компьютерах. Например, вы можете составить расписание и указать в нем, что в понедельник должно выполняться копирование содержимого
machine1
, во вторник —
machine2
и т.д.

Опция

– -verify
предназначена для проверки того, насколько корректно выполнено копирование данных. В результате такой проверки время копирования существенно возрастает, но подобное замедление работы часто бывает оправдано, особенно в тех случаях, когда в накопителе отсутствует встроенная функция проверки. (В большинстве устройств среднего и высокого уровня поверка осуществляется на аппаратном уровне.) Если вы указываете при вызове
tar
опцию
– -verify
или
– -diff
, возможны ложные сообщения об ошибках. Дело в том, что в то время, когда выполняется резервное копирование, пользователи продолжают работать в системе, поэтому с момента копирования на резервный носитель до момента проверки файл может быть изменен. Наиболее часто модифицируются файлы протоколов, содержимое очереди на печать, файлы в каталоге
/tmp
и другие подобные данные. Если в результате проверки выявлено несоответствие содержимого часто изменяемых файлов, повода для беспокойства нет. Если же при проверке не совпали статические данные, например файлы в каталоге
/usr
это может означать, что копирование выполняется некорректно.

Многие современные накопители на магнитных лентах поддерживают встроенные функции сжатия, поэтому в применении опции

– -bzip2
или
– -gzip
обычно нет необходимости. Если же вы указываете данные опции при вызове
tar
, помните, что их использование может представлять угрозу для целостности резервной копии. Опции
– -bzip2
и
– -gzip
осуществляют сжатие не отдельных файлов, а всего архива, поэтому если в процессе сжатия возникнет ошибка, данные, содержащиеся в архиве, будут утеряны. Сжатие, реализованное на аппаратном уровне, обеспечивает определенную устойчивость к ошибкам подобного рода. В случае сбоя искажаются один-два файла, а остальные данные в архиве можно использовать. Некоторые программы резервного копирования сжимают данные таким же способом, повышая тем самым надежность всей системы. Например, в коммерческом продукте BRU (
http://www.tolisgroup.com
) используется пофайловое сжатие информации.

Поделиться:
Популярные книги

Под маской моего мужа

Рам Янка
Любовные романы:
современные любовные романы
5.67
рейтинг книги
Под маской моего мужа

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Семья. Измена. Развод

Высоцкая Мария Николаевна
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Семья. Измена. Развод

Курсант: Назад в СССР 13

Дамиров Рафаэль
13. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 13

Отмороженный 4.0

Гарцевич Евгений Александрович
4. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Отмороженный 4.0

Тот самый сантехник. Трилогия

Мазур Степан Александрович
Тот самый сантехник
Приключения:
прочие приключения
5.00
рейтинг книги
Тот самый сантехник. Трилогия

Мифы и Легенды. Тетралогия

Карелин Сергей Витальевич
Мифы и Легенды
Фантастика:
фэнтези
рпг
альтернативная история
5.00
рейтинг книги
Мифы и Легенды. Тетралогия

Александр Агренев. Трилогия

Кулаков Алексей Иванович
Александр Агренев
Фантастика:
альтернативная история
9.17
рейтинг книги
Александр Агренев. Трилогия

Жребий некроманта. Надежда рода

Решетов Евгений Валерьевич
1. Жребий некроманта
Фантастика:
фэнтези
попаданцы
6.50
рейтинг книги
Жребий некроманта. Надежда рода

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

Приручитель женщин-монстров. Том 6

Дорничев Дмитрий
6. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 6

Магнатъ

Кулаков Алексей Иванович
4. Александр Агренев
Приключения:
исторические приключения
8.83
рейтинг книги
Магнатъ

Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Клеванский Кирилл Сергеевич
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.51
рейтинг книги
Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Черный дембель. Часть 2

Федин Андрей Анатольевич
2. Черный дембель
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Черный дембель. Часть 2