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

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

Жанры

Сетевые средства 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
) используется пофайловое сжатие информации.

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

ЖЛ 9

Шелег Дмитрий Витальевич
9. Живой лёд
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
ЖЛ 9

Средоточие

Кораблев Родион
20. Другая сторона
Фантастика:
боевая фантастика
космическая фантастика
постапокалипсис
рпг
фантастика: прочее
попаданцы
5.00
рейтинг книги
Средоточие

Мечник Вернувшийся 1000 лет спустя. Том 2

Ткачев Андрей Юрьевич
2. Вернувшийся мечник
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Мечник Вернувшийся 1000 лет спустя. Том 2

Монстр из прошлого тысячелетия

Еслер Андрей
5. Соприкосновение миров
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Монстр из прошлого тысячелетия

Локки 4 Потомок бога

Решетов Евгений Валерьевич
4. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 4 Потомок бога

Наследник хочет в отпуск

Тарс Элиан
5. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник хочет в отпуск

Кодекс Охотника. Книга XII

Винокуров Юрий
12. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XII

Наследник старого рода

Шелег Дмитрий Витальевич
1. Живой лёд
Фантастика:
фэнтези
8.19
рейтинг книги
Наследник старого рода

Адвокат Империи 7

Карелин Сергей Витальевич
7. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 7

Играть... в тебя

Зайцева Мария
3. Звериные повадки Симоновых
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Играть... в тебя

Мастер 4

Чащин Валерий
4. Мастер
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Мастер 4

Дважды одаренный. Том II

Тарс Элиан
2. Дважды одаренный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Дважды одаренный. Том II

Крестоносец

Ланцов Михаил Алексеевич
7. Помещик
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Крестоносец

Неучтенный элемент. Том 1

NikL
1. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 1