Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

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


изображение

9.1.1. Подготовка ваших данных


9.1.1.1. Архивирование с помощью tar


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


tar имеет множество опций, наиболее важные из них приведены ниже:


-v: подробный

-t: тест, показывает содержимое архива

-x: извлечь архив

-c: создать архив

-f archivedevice: использовать archivedevice в качестве источника/назначения для архива, по умолчанию используется первое ленточное устройство (обычно /dev/st0 или что-то подобное)

-j: фильтровать bzip2, см. раздел 9.1.1.2


Обычно префикс тире опускается с помощью деготь варианты, как вы можете видеть из примеров ниже.


изображениеИспользуйте GNU tar для совместимости.

Архивы сделаны с использованием собственной деготь версия в одной системе может быть несовместима с деготь в другой проприетарной системе. Это может вызвать много головной боли, например, если архив необходимо восстановить.


в системе, которой больше не существует. Используйте GNU деготь версию на всех системах, чтобы ваш системный администратор не расплакался. Linux всегда использует GNU tar. При работе на других машинах UNIX введите деготь --Помогите чтобы узнать, какую версию вы используете. Если вы где-то не видите слово GNU, обратитесь к своему системному администратору.

В примере ниже создается и распаковывается архив.


Габи: ~> ls изображения/

me+tux.jpg нимф.jpg


Габи: ~> tar cvf images-in-a-dir.tar images/

images/ images/nimf.jpg images/me+tux.jpg


Габи: ~> образы компакт-дисков


Габи:~/images> tar cvf images-without-a-dir.tar *.jpg

me+tux.jpg нимф.jpg


Габи:~/images> cd


Габи: ~> лс */*.tar

изображения/изображения-без-a-dir.tar


Габи: ~> лс *.tar

изображения-в-дир.tar


Габи: ~> tar xvf images-in-a-dir.tar

images/ images/nimf.jpg images/me+tux.jpg


Габи: ~> tar tvf images/images-without-dir.tar

-rw-r--r-- Габи/Габи 42888 1999-06-30 20:52:25 me+tux.jpg

-rw-r--r-- Габи/Габи 7578 2000 01:26:12 nimf.jpg


Габи: ~> tar xvf images/images-without-a-dir.tar

me+tux.jpg нимф.jpg


Габи: ~> лс *.jpg

me+tux.jpg нимф.jpg

Габи: ~> ls изображения/

me+tux.jpg нимф.jpg


Габи: ~> tar cvf images-in-a-dir.tar images/

images/ images/nimf.jpg images/me+tux.jpg


Габи: ~> образы компакт-дисков


Габи:~/images> tar cvf images-without-a-dir.tar *.jpg

me+tux.jpg нимф.jpg


Габи:~/images> cd


Габи: ~> лс */*.tar

изображения/изображения-без-a-dir.tar


Габи: ~> лс *.tar

изображения-в-дир.tar


Габи: ~> tar xvf images-in-a-dir.tar

images/ images/nimf.jpg images/me+tux.jpg


Габи: ~> tar tvf images/images-without-dir.tar

-rw-r--r-- Габи/Габи 42888 1999-06-30 20:52:25 me+tux.jpg

-rw-r--r-- Габи/Габи 7578 2000 01:26:12 nimf.jpg


Габи: ~> tar xvf images/images-without-a-dir.tar

me+tux.jpg нимф.jpg


Габи: ~> лс *.jpg

me+tux.jpg нимф.jpg

Этот пример также иллюстрирует разницу между tar-каталогом и группой tar-файлов. Желательно сжимать только каталоги, чтобы файлы не распространялись повсюду при распаковке архива (который может находиться в другой системе, где вы можете не знать, какие файлы уже были там, а какие из архива).


Когда стример подключен к вашему устройству и настроен системным администратором, имена файлов, оканчивающиеся на .tar заменяются именем ленточного устройства, например:


деготь cvf /dev/лента почты/


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


изображение


9.1.1.2. Инкрементальные резервные копии с помощью tar


Ассоциация деготь инструмент поддерживает создание инкрементальных резервных копий с помощью -N вариант. С помощью этой опции вы можете указать дату и деготь проверит время модификации всех указанных файлов по этой дате. Если файлы были изменены позже указанной даты, они будут включены в резервную копию. В приведенном ниже примере в качестве значения даты используется временная метка предыдущего архива. Сначала создается исходный архив и отображается временная метка исходного файла резервной копии. Затем создается новый файл, для которого мы создаем новую резервную копию, содержащую только этот новый файл:


Джимми:~> tar cvpf /var/tmp/javaproggies.tar java/*.java

java/btw.java java/error.java java/hello.java java/income2.java java/income.java java/inputdevice.java java/input.java java/master.java java/method1.java java/mood.java java/moodywaitress.java java/test3.java java/TestOne.java java/TestTwo.java java/Vehicle.java


Джимми:~> ls -l /var/tmp/javaproggies.tar

-rw-rw-r-- 1 Джимми Джимми 10240 21 января 11:58 /var/tmp/javaproggies.tar Джимми:~> коснитесь java/newprog.java

Джимми:~> tar -N /var/tmp/javaproggies.tar \

-cvp /var/tmp/incremental1-javaproggies.tar java/*.java 2> /dev/null

java/newprog.java Джимми:~> компакт-диск /вар/tmp/

Джимми:~> tar xvf инкрементальный1-javaproggies.tar

java/newprog.java

Джимми:~> tar cvpf /var/tmp/javaproggies.tar java/*.java

java/btw.java java/error.java java/hello.java java/income2.java java/income.java java/inputdevice.java java/input.java java/master.java java/method1.java java/mood.java java/moodywaitress.java java/test3.java java/TestOne.java java/TestTwo.java java/Vehicle.java


Джимми:~> ls -l /var/tmp/javaproggies.tar

-rw-rw-r-- 1 Джимми Джимми 10240 21 января 11:58 /var/tmp/javaproggies.tar Джимми:~> коснитесь java/newprog.java

Джимми:~> tar -N /var/tmp/javaproggies.tar \

-cvp /var/tmp/incremental1-javaproggies.tar java/*.java 2> /dev/null

java/newprog.java Джимми:~> компакт-диск /вар/tmp/

Джимми:~> tar xvf инкрементальный1-javaproggies.tar

java/newprog.java

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


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


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


Джимми:~> tar cvpf work-20030121.tar -g snapshot-20030121 работа/

работа/работа/файл1 работа/файл2 работа/файл3


Джимми:~> снимок файла-20030121

Джимми:~> tar cvpf work-20030121.tar -g snapshot-20030121 работа/

работа/работа/файл1 работа/файл2 работа/файл3


Джимми:~> снимок файла-20030121


снимок-20030121: ASCII текст На следующий день пользователь отмычка Работы по file3 еще немного и создаст file4. В конце дня он делает новую резервную копию:


Джимми:~> tar cvpf work-20030122.tar -g snapshot-20030121 работа/

работа/работа/файл3 работа/файл4

Джимми:~> tar cvpf work-20030122.tar -g snapshot-20030121 работа/

работа/работа/файл3 работа/файл4

Это несколько очень простых примеров, но вы также можете использовать такую ​​команду в задании cron (см. раздел 4.4.4), в котором указывается, например, файл моментального снимка для еженедельного резервного копирования и один для ежедневного резервного копирования.

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

изображениеНастоящие вещи

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

так называемый «сжатый архив». См. раздел 9.3, где описан более простой способ регулярного резервного копирования.


изображение

9.1.1.3. Сжатие и распаковка с помощью gzip или bzip2.


Данные, включая архивы, можно сжимать с помощью инструментов zip. GZIP Команда добавит суффикс .gz к имени файла и удалит исходный файл.


Джимми:~> лс-ла | grep смола

-rw-rw-r-- 1 Джимми Джимми 61440 6 июня 14:08 images-without-dir.tar Джимми:~> gzip images-without-dir.tar

Джимми:~> ls -la images-without-dir.tar.gz

-rw-rw-r-- 1 Джимми Джимми 50562 6 июня 14:08 images-without-dir.tar.gz

Джимми:~> лс-ла | grep смола

-rw-rw-r-- 1 Джимми Джимми 61440 6 июня 14:08 images-without-dir.tar Джимми:~> gzip images-without-dir.tar

Джимми:~> ls -la images-without-dir.tar.gz

-rw-rw-r-- 1 Джимми Джимми 50562 6 июня 14:08 images-without-dir.tar.gz

Распакуйте файлы, заархивированные gzip, с помощью -d опцию.


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


Пакеты программного обеспечения Linux часто распространяются в сжатом архиве gzip. Разумнее всего после распаковки такого рода архивов найти README и прочитайте это. Обычно он содержит рекомендации по установке пакета.


GNU деготь Команда знает о файлах, заархивированных gzip. Используйте команду


деготь zxvf файл.tar.gz


для распаковки и распаковки .tar.gz or . TGZ файлы. Использовать


деготь jxvf файл.tar.bz2


для распаковки деготь архивы, сжатые с помощью bzip2.


изображение


9.1.1.4. Java-архивы


Проект GNU предоставляет нам банка инструмент для создания Java-архивов. Это Java-приложение, которое объединяет несколько файлов в один архивный файл JAR. Будучи также универсальным инструментом архивирования и сжатия, основанным на формате сжатия ZIP и ZLIB, банка был в основном разработан для облегчения упаковки Java-кода, апплетов и/или приложений в один файл. При объединении в один архив компоненты Java-приложения можно загрузить значительно быстрее.


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


Синтаксис практически идентичен синтаксису деготь команда, мы ссылаемся на info банка для конкретных различий.


изображениеtar, jar и символические ссылки

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


изображение

9.1.1.5. Перенос ваших данных


Лучшие облачные вычисления для ОС в OnWorks: