Использование архиватора tar для архивирования данных.



    Утилита tar первоначально использовалась для создания архивов на магнитной ленте ( tar - tape archive ). В настоящее время tar используется для создания архивов на любых носителях и практически, является основным средством хранения файлов и каталогов в одном файле специального формата. Главным достоинством формата tar является то, что архив содержит не только сами данные архивируемых файлов, но и информацию о структуре каталогов, владельце, и временнЫе метки ( время создания, модификации, доступа ). Архиватор tar не выполняет сжатие архивируемых данных, он всего лишь упаковывает множество файлов в один файл, размер которого приблизительно равен суммарному размеру упакованных файлов ( немного больше за счет добавления собственных служебных заголовков ). Для сжатия же, используются внешние программы ( gzip, bzip2 и т.п. )

Для получения подсказки по использованию tar введите команду:

tar –help

На экран выдается справка с кратким описанием назначения программы и параметров командной строки:

Использование: tar [ПАРАМЕТР...] [ФАЙЛ]...
GNU tar предназначен для сохранения файлов на
магнитную ленту или в архив на диске и для
восстановления отдельных файлов из
архива.

Примеры:
  tar -cf archive.tar foo bar  # Создание archive.tar из файлов
foo и bar.
  tar -tvf archive.tar         # Вывод подробного списка
всех файлов в архиве archive.tar.
  tar -xf archive.tar          # Извлечение всех файлов
из archive.tar.

 Основной режим работы:

  -A, --catenate, --concatenate   присоединение tar-файлов
                             к архиву
  -c, --create               создание нового архива
  -d, --diff, --compare      поиск различий между
                             архивом и файловой
                             системой
      --delete               удаление из архива (не на
                             магнитных лентах!)
  -r, --append               добавление файлов в конец
                             архива
  -t, --list                 вывод списка содержимого
                             архива
      --test-label           проверка метки тома архива
                             и выход
  -u, --update               добавление в архив только
                             более новых файлов
  -x, --extract, --get       извлечение файлов из
                             архива

 Модификаторы:

      --check-device         проверять номера устройств
                             при создании инкрементных
                             архивов (по умолчанию)
  -g, --listed-incremental=ФАЙЛ
                             обработка добавочного
                             резервирования нового
                             формата GNU
  -G, --incremental          обработка добавочного
                             резервирования старого
                             формата GNU
      --ignore-failed-read   не завершать работу при
                             ненулевом статусе для
                             нечитаемых файлов
      --level=N              уровень копирования для
                             созданного разностного
                             архива со списком
  -n, --seek                 доступен поиск по архиву
      --no-check-device      не проверять номера
                             устройств при создании
                             инкрементных архивов
      --no-seek              поиск по архиву недоступен
      --occurrence[=N]       обработка только N-ого
                             вхождения для каждого
                             файла в архиве. Эта опция
                             верна только в сочетании с
                             одной из подкоманд --delete,
                             --diff, --extract или --list, и когда
                             список файлов задан либо в
                             командной строке, либо
                             через опцию -T. По умолчанию
                             N равен 1.
      --sparse-version=MAJOR[.MINOR]
                             установить версию
                             используемого формата
                             разрежения (подразумевает
                             --sparse)
  -S, --sparse               эффективная обработка
                             разрежённых файлов

 Управление перезаписью:

  -k, --keep-old-files       не перезаписывать
                             существующие файлы при
                             извлечении
      --keep-newer-files     не перезаписывать
                             существующие файлы,
                             которые более новые, чем их
                             копии в архиве
      --no-overwrite-dir     сохранение метаданных
                             существующих каталогов
      --overwrite            перезапись существующих
                             файлов при извлечении
      --overwrite-dir        перезапись существующих
                             файлов при извлечении (по
                             умолчанию)
      --recursive-unlink     очистка всей иерархии до
                             извлечения каталога
      --remove-files         удаление файлов после их
                             добавления в архив
  -U, --unlink-first         удаление каждого файла до
                             извлечения поверх него
  -W, --verify               попытка проверить архив
                             после его записи

 Выбор выходного потока:

      --ignore-command-error игнорировать коды
                             завершения дочерних
                             процессов
      --no-ignore-command-error   считать ненулевые коды
                             завершения дочерних
                             процессов как ошибку
  -O, --to-stdout            извлекать файлы на
                             стандартный вывод
      --to-command=КОМАНДА
                             перенаправлять
                             извлечённые файлы в другую
                             программу

 Обработка атрибутов файлов:

      --atime-preserve[=СПОСОБ]
                             сохранять время доступа
                             скопированных файлов путём
                             восстановления времени
                             после чтения (СПОСОБ='replace';
                             используется по умолчанию)
                             или не установки времени в
                             первую очередь
                             (СПОСОБ='system')
      --delay-directory-restore   не устанавливать время
                             изменения и права доступа
                             извлечённых каталогов до
                             завершения процесса
                             извлечения
      --group=ИМЯ         принудительно
                             устанавливать ИМЯ в
                             качестве группы для
                             добавленных файлов
      --mode=РЕЖИМ      принудительно
                             устанавливать (символьный)
                             РЕЖИМ доступа для
                             добавляемых файлов
      --mtime=ДАТА-ИЛИ-ФАЙЛ
                             устанавливать для
                             добавленных файлов mtime из
                             ДАТЫ-ИЛИ-ФАЙЛА
  -m, --touch                не извлекать время
                             изменения файла
      --no-delay-directory-restore
                             отменить действие
                             параметра --delay-directory-restore
      --no-same-owner        извлекать файлы как свои
                             собственные (по умолчанию
                             для обычных пользователей)
      --no-same-permissions  применять umask пользователя
                             при извлечении прав
                             доступа из архива (по
                             умолчанию для обычных
                             пользователей)
      --numeric-owner        использовать числа вместо
                             имён владельца/группы
      --owner=ИМЯ         принудительно
                             устанавливать ИМЯ в
                             качестве владельца для
                             добавленных файлов
  -p, --preserve-permissions, --same-permissions
                             извлекать информацию о
                             правах доступа к файлу (по
                             умолчанию для
                             суперпользователя)
      --preserve             эквивалент -p и -s
      --same-owner           попытаться извлечь файлы с
                             тем же владельцем, что и в
                             архиве (по умолчанию для
                             супепользователя)
  -s, --preserve-order, --same-order
                             сортировать извлекаемые
                             имена в том же порядке, что
                             и в архиве

 Выбор и переключение устройств:

  -f, --file=АРХИВ      использовать файл или
                             устройство АРХИВ
      --force-local          файл архива является
                             локальным, даже если
                             содержит двоеточие
  -F, --info-script=ИМЯ, --new-volume-script=ИМЯ
                             запустить скрипт по
                             окончании каждой ленты
                             (подразумевается
                             использование -М)
  -L, --tape-length=N        сменить ленту после записи
                             ЧИСЛО x 1024 байт
  -M, --multi-volume
                             создание/листинг/извлечение
                             многотомных архивов
      --rmt-command=КОМАНДА
                             использовать указанную
                             КОМАНДУ rmt вместо rmt
      --rsh-command=КОМАНДА
                             использовать удалённую
                             КОМАНДУ вместо rsh
      --volno-file=ФАЙЛ  использовать/обновлять
                             номера тома в ФАЙЛЕ

 Разбиение на блоки:

  -b, --blocking-factor=БЛОКИ
                             число БЛОКОВ x 512 байт на
                             запись
  -B, --read-full-records    заново разбивать на блоки
                             при чтении (для каналов 4.2BSD)
                            
  -i, --ignore-zeros         игнорировать нулевые блоки
                             в архиве (т.е. EOF)
      --record-size=N        ЧИСЛО байт на запись,
                             кратное 512

 Формата архива:

  -H, --format=ФОРМАТ  создать архив в указанном
                             формате
  -Y, --lzma                 filter the archive through lzma (depreceated
                             flag)

 ФОРМАТОМ может быть:

    gnu                      формат GNU tar 1.13.х
    oldgnu                   формат GNU как в tar <= 1.12
    pax                      формат POSIX 1003.1-2001 (pax)
    posix                    эквивалент pax
    ustar                    формат POSIX 1003.1-1988 (ustar)
    v7                       старый формат tar V7

      --old-archive, --portability
                             эквивалент --format=v7

      --pax-option=keyword[[:]=значение][,keyword[[:]=значение]]...                             
                             управляющие ключевые слова
                             pax
      --posix                эквивалент --format=posix
  -V, --label=ТЕКСТ     создать архив с именем тома
                             ТЕКСТ; при
                             листинге/извлечении
                             использовать ТЕКСТ в
                             качестве шаблона
                             подстановки

 Опции сжатия:

  -a, --auto-compress        использовать суффикс
                             архива для определения
                             программы сжатия
  -I, --use-compress-program=ПРОГ
                             пропустить архив через
                             ПРОГ (должна поддерживать
                             -d)
  -j, --bzip2                пропустить архив через bzip2
  -J, --xz                   пропустить архив через xz
      --lzip                 пропустить архив через lzip
      --lzma                 пропустить архив через lzma
      --lzop
      --no-auto-compress     не использовать суффикс
                             архива для определения
                             программы сжатия
  -z, --gzip, --gunzip, --ungzip   пропустить архив через
                             gzip
  -Z, --compress, --uncompress   пропустить архив через
                             compress

 Выбор локальных файлов:

      --add-file=ФАЙЛ    добавить указанный ФАЙЛ в
                             архив (полезно, если имя
                             начинается с дефиса)
      --backup[=УПРАВЛЕНИЕ]
                             делать копию перед
                             удалением, УПРАВЛЕНИЕ
                             выбора версий
  -C, --directory=КАТАЛОГ   перейти в КАТАЛОГ
      --exclude=ШАБЛОН исключать файлы,
                             определённые ШАБЛОНОМ
      --exclude-backups      исключать резервные файлы
                             и файлы блокировки
      --exclude-caches       исключать содержимое
                             каталогов с файлом CACHEDIR.TAG
                             за исключением самого
                             файла с тегами
      --exclude-caches-all   исключать каталоги,
                             содержащие файл CACHEDIR.TAG
      --exclude-caches-under исключать всё содержимое
                             каталогов, содержащих файл
                             CACHEDIR.TAG
      --exclude-tag=ФАЙЛ исключать каталоги,
                             содержащие ФАЙЛ, за
                             исключением самого ФАЙЛА
      --exclude-tag-all=ФАЙЛ   исключать каталоги с
                             ФАЙЛОМ
      --exclude-tag-under=ФАЙЛ
                             исключать всё содержимое
                             каталогов, содержащих ФАЙЛ
      --exclude-vcs          исключать каталоги CVS
  -h, --dereference          следовать по символьным
                             ссылкам и сохранять файлы,
                             на которые они указывают
      --hard-dereference     следовать по жёстким
                             ссылкам и сохранять файлы,
                             на которые они указывают
  -K, --starting-file=ИМЯ-ЧЛЕНА
                             начинать с члена ИМЯ-ЧЛЕНА
                             в архиве
      --newer-mtime=ДАТА сравнивать дату и время,
                             только если изменены
                             данные
      --no-null              выключить воздействие
                             предыдущей опции --null
      --no-recursion         отключить автоматический
                             спуск в каталоги
      --no-unquote           не убирать кавычки с имён
                             файлов, прочитанных с
                             опцией -T
      --null                 -T читает строки,
                             оканчивающиеся нулём,
                             отключает опцию -C
  -N, --newer=ДАТА-ИЛИ-ФАЙЛ, --after-date=ДАТА-ИЛИ-ФАЙЛ
                             сохранять только те файлы,
                             которые новее
                             ДАТЫ-ИЛИ-ФАЙЛА
      --one-file-system      оставаться в локальной
                             файловой системе при
                             создании архива
  -P, --absolute-names       не удалять начальные `/' из
                             имен файлов
      --recursion            рекурсивный спуск по
                             каталогам (по умолчанию)
      --suffix=СТРОКА  делать копию перед
                             удалением, переопределяет
                             обычный суффикс ('~', если
                             только он не переопределён
                             переменной окружения
                             SIMPLE_BACKUP_SUFFIX)
  -T, --files-from=ФАЙЛ  загрузить из ФАЙЛА имена
                             для извлечения или
                             создания
      --unquote              убрать кавычки с имён
                             файлов, прочитанных с
                             опцией -T (по умолчанию)
  -X, --exclude-from=ФАЙЛ   исключать шаблоны,
                             перечисленных в ФАЙЛЕ

 Преобразование имён файлов:

      --strip-components=N   удалять указанное ЧИСЛО
                             начальных компонентов из
                             имён файлов перед
                             извлечением
      --transform=РАСШИРЕНИЕ, --xform=РАСШИРЕНИЕ
                             использовать замену
                             РАСШИРЕНИЯ sed'ом для
                             преобразования имён
                             файлов

 Опции шаблонов подстановки для имён
 файлов (влияют на шаблоны включения и
 исключения):

      --anchored             шаблоны начала имени файла
      --ignore-case          игнорировать регистр
      --no-anchored          шаблоны после любого '/' (по
                             умолчанию для исключаемых)
      --no-ignore-case       с учётом регистра (по
                             умолчанию)
      --no-wildcards         точное соответствие строке
                            
      --no-wildcards-match-slash   маски не соответствуют
                             '/'
      --wildcards            использовать маски (по
                             умолчанию для исключаемых)
      --wildcards-match-slash   маски соответствуют '/' (по
                             умолчанию для исключаемых)

 Вывод информации:

      --checkpoint[=N]       вывод сообщений о ходе
                             выполнения через каждые
                             ЧИСЛО записей (по умолчанию
                             10)
      --checkpoint-action=ДЕЙСТВИЕ
                             выполнять ДЕЙСТВИЕ на
                             каждой контрольной точке
      --full-time            вывод имени файла и его
                             полного разрешения
      --index-file=ФАЙЛ  отправить подробный вывод
                             данных в FILE
  -l, --check-links          вывод сообщений, если
                             сохранены не все ссылки
      --no-quote-chars=СТРОКА
                             отключить цитирование
                             символов из СТРОКИ
      --quote-chars=СТРОКА   дополнительно
                             цитировать символы из
                             СТРОКИ
      --quoting-style=СТИЛЬ   установить стиль
                             цитирования имён. Значения
                             для СТИЛЯ см. ниже
  -R, --block-number         выводить номера блоков
                             архива в каждом сообщении
      --show-defaults        показать значения tar по
                             умолчанию
      --show-omitted-dirs    при выводе листинга или
                             извлечении показывать все
                             каталоги, не
                             соответствующем условию
                             поиска
      --show-transformed-names, --show-stored-names
			     показывать имена файлов
                             или архивов после
                             преобразования
      --totals[=СИГНАЛ]   вывод общего числа байт
                             после обработки архива; с
                             аргументом - вывод общего
                             числа байт после доставки
                             этого СИГНАЛА. Разрешённые
                             сигналы: SIGHUP, SIGQUIT, SIGINT, SIGUSR1
                             и SIGUSR2. Также разрешается
                             использовать имена без
                             префикса SIG
      --utc                  вывод времени изменения
                             файла в формате UTC
  -v, --verbose              подробный листинг
                             обрабатываемых файлов
      --warning=КЛЮЧЕВОЕ СЛОВО
                             управление
                             предупреждением
  -w, --interactive, --confirmation
                             запрашивать подтверждение
                             для каждого действия

 Опции совместимости:

  -o                         при создании, эквивалент
                             --old-archive; при извлечении,
                             эквивалент --no-same-owner

 Другие опции:

  -?, --help                 вывод этой справки
      --restrict             отключить использование
                             некоторых потенциально
                             опасных опций
      --usage                вывод короткого сообщения
                             об использовании
      --version              вывод версии программы

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

Суффикс для резервных копий - '~', если он не
установлен через --suffix
или SIMPLE_BACKUP_SUFFIX. Управление версиями может
быть установлено
через --backup или VERSION_CONTROL. Значениями могут
быть:

  none, off       не создавать резервные копии
  t, numbered     создавать нумерованные
резервные копии
  nil, existing   нумерованные, если существуют
нумерованные копии, иначе простые
  never, simple   всегда создавать простые
резервные копии

Допустимые аргументы для параметра
--quoting-style:

  literal
  shell
  shell-always
  c
  c-maybe
  escape
  locale
  clocale

Значения по умолчанию *этого* tar:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/libexec/rmt
--rsh-command=/usr/bin/rsh

Отчёты об ошибках отправляйте по адресу:
bug-tar@gnu.org.


Для получения краткой справки по использованию tar введите команду:

tar –usage

При выполнении данной команды, отображаются варианты использования параметров командной строки без каких-либо пояснений:

Использование: tar [-AcdrtuxGnSkUWOmpsMBiajJzZhPlRvwo?]
            [-g ФАЙЛ] [-f АРХИВ] [-F ИМЯ] [-L N] [-b БЛОКИ]
            [-H ФОРМАТ] [-V ТЕКСТ] [-I ПРОГ]
            [-C КАТАЛОГ] [-K ИМЯ-ЧЛЕНА]
            [-N ДАТА-ИЛИ-ФАЙЛ] [-T ФАЙЛ] [-X ФАЙЛ]
            [--catenate] [--concatenate] [--create] [--diff] [--compare]
            [--delete] [--append] [--list] [--test-label] [--update]
            [--extract] [--get] [--check-device]
            [--listed-incremental=ФАЙЛ] [--incremental]
            [--ignore-failed-read] [--level=N] [--seek] [--no-check-device]
            [--no-seek] [--occurrence[=N]] [--sparse-version=MAJOR[.MINOR]]
            [--sparse] [--keep-old-files] [--keep-newer-files]
            [--no-overwrite-dir] [--overwrite] [--overwrite-dir]
            [--recursive-unlink] [--remove-files] [--skip-old-files]
            [--unlink-first] [--verify] [--ignore-command-error]
            [--no-ignore-command-error] [--to-stdout]
            [--to-command=КОМАНДА] [--acls]
            [--atime-preserve[=СПОСОБ]] [--delay-directory-restore]
            [--group=ИМЯ] [--mode=РЕЖИМ]
            [--mtime=ДАТА-ИЛИ-ФАЙЛ] [--touch] [--no-acls]
            [--no-delay-directory-restore] [--no-same-owner]
            [--no-same-permissions] [--no-selinux] [--no-xattrs]
            [--numeric-owner] [--owner=ИМЯ] [--preserve-permissions]
            [--same-permissions] [--preserve] [--same-owner]
            [--preserve-order] [--same-order] [--selinux] [--xattrs]
            [--file=АРХИВ] [--force-local] [--info-script=ИМЯ]
            [--new-volume-script=ИМЯ] [--tape-length=N] [--multi-volume]
            [--rmt-command=КОМАНДА] [--rsh-command=КОМАНДА]
            [--volno-file=ФАЙЛ] [--blocking-factor=БЛОКИ]
            [--read-full-records] [--ignore-zeros] [--record-size=N]
            [--format=ФОРМАТ] [--old-archive] [--portability]
            [--pax-option=keyword[[:]=значение][,keyword[[:]=значение]]...]
            [--posix] [--label=ТЕКСТ] [--auto-compress]
            [--use-compress-program=ПРОГ] [--bzip2] [--xz] [--lzip]
            [--lzma] [--lzop] [--no-auto-compress] [--gzip] [--gunzip]
            [--ungzip] [--compress] [--uncompress] [--add-file=ФАЙЛ]
            [--backup[=УПРАВЛЕНИЕ]] [--directory=КАТАЛОГ]
            [--exclude=ШАБЛОН] [--exclude-backups] [--exclude-caches]
            [--exclude-caches-all] [--exclude-caches-under]
            [--exclude-tag=ФАЙЛ] [--exclude-tag-all=ФАЙЛ]
            [--exclude-tag-under=ФАЙЛ] [--exclude-vcs] [--dereference]
            [--hard-dereference] [--starting-file=ИМЯ-ЧЛЕНА]
            [--newer-mtime=ДАТА] [--no-null] [--no-recursion]
            [--no-unquote] [--null] [--newer=ДАТА-ИЛИ-ФАЙЛ]
            [--after-date=ДАТА-ИЛИ-ФАЙЛ] [--one-file-system]
            [--absolute-names] [--recursion] [--suffix=СТРОКА]
            [--files-from=ФАЙЛ] [--unquote] [--exclude-from=ФАЙЛ]
            [--strip-components=N] [--transform=РАСШИРЕНИЕ]
            [--xform=РАСШИРЕНИЕ] [--anchored] [--ignore-case]
            [--no-anchored] [--no-ignore-case] [--no-wildcards]
            [--no-wildcards-match-slash] [--wildcards]
            [--wildcards-match-slash] [--checkpoint[=N]]
            [--checkpoint-action=ДЕЙСТВИЕ] [--index-file=ФАЙЛ]
            [--check-links] [--no-quote-chars=СТРОКА]
            [--quote-chars=СТРОКА] [--quoting-style=СТИЛЬ]
            [--block-number] [--show-defaults] [--show-omitted-dirs]
            [--show-transformed-names] [--show-stored-names]
            [--totals[=СИГНАЛ]] [--utc] [--verbose] [--warning=KEYWORD]
            [--interactive] [--confirmation] [--help] [--restrict] [--usage]
            [--version] [ФАЙЛ]...


Можно также воспользоваться встроенной справочной системой:

man tar

Примеры использования tar



tar –create –file=archive.tar file1 file2 - создать в текущем каталоге архив archive.tar из файлов ffile1 и file2

tar -cf archive.tar file1 file2 - то же, что и в предыдущем примере, но с использованием синтаксиса коротких опций ( сокращенных параметров командной строки: -c соответствует --create, -f соответствует --file. При использовании коротких опций, их можно объединять – параметры -c -f файл.tar можно вводить как -cf файл.tar.

tar -cvf archive.tar file1 file2 - то же, что и в предыдущем примере, но с выдачей подробной информации о ходе архивирования .

tar -cvf /backup/archive.tar /home/user/* - создать в каталоге backup архив archive.tar из файлов домашнего каталога пользователя user. При использовании данного формата команды, нередко возникает вопрос, почему tar не включает в архив скрытые файла и каталоги, имена которых начинаются с точки. Это не столько проблема tar, сколько проблема оболочки пользователя ( bash ), которая трактует шаблон * как ”все файлы, исключая скрытые”. Команде tar ( как и прочим командам Linux ) передается не шаблон, а уже подошедший под него файл или группа файлов. Определением подходящих под шаблон объектов занимается сама командная оболочка, в которой исходя из соображений безопасности, шаблон ”*” не включает имена файлов, начинающиеся с точки. Поэтому, для того чтобы создать архив, включающий скрытые файлы данным шаблоном пользоваться не нужно, а просто указать имя архивируемого каталога, например /home/user/:

tar -cvf /backup/archive.tar /home/user/

tar -zcvf /backup/archive.tar.gz /home/user/ - создать архив всех файлов домашнего каталога пользователя user с использованием сжатия данных с помощью gzip

tar -jcvf /backup/archive.tar.bz2 /home/user/ - создать архив всех файлов домашнего каталога пользователя user с использованием сжатия данных с помощью bzip2

tar -acvf /backup/archive.tar.bz2 /home/user/ - создать архив всех файлов домашнего каталога пользователя user с использованием сжатия данных с помощью программы, определяемой автоматически по имени файла. В данном примере имя архива имеет расширение .bz2 и будет использована программа сжатия bzip2 . Если бы в имени архива имелось расширение .gz, то использовалась бы программа сжатия данных gzip. Если по имени файла архива невозможно определить программу сжатия, то архив создается, но сжатие не выполняется. При распаковке архива параметр -a указывать не обязательно, поскольку тип сжатия определяется автоматически в любом случае.

tar -tvf archive.tar - отобразить список файлов и каталогов архива archive.tar

tar -tvf archive.tar > listfiles - то же, что и в предыдущем примере, но с выдачей результатов в текстовый файл listfiles

tar –xvf archive.tar - распаковать (разархивировать) в текущий каталог содержимое архива archive.tar

tar –xvf /backup/archive.tar –C /home2/ - извлечь содержимое архива /backup/archive.tar в каталог /home2.

tar –xv –keep-newer-file –f /backup/archive.tar –C /home2 - то же, что и в предыдущем примере, только перезапись существующих файлов не будет выполнена, если они того же возраста или более новые.

tar –xvkf /backup/archive.tar –C /home2 - если при извлечении данных из архива, будет попытка перезаписи существующего файла, то программа tar завершится ошибкой.

tar –exclude=*log* -zcvf /backup/archive.tar.gz /var/ - при архивировании исключить файлы журналов.

tar --exclude-backups --exclude-caches --exclude-tag-all=excludes.txt -zcvf /backup/home.tar.gz /home/ - при архивировании исключить файлы бэкапов, кэш и все каталоги, в которых присутствует файл с именем excludes.txt

Утилита tar позволяет создавать инкрементные архивы, т.е. содержащие в себе только те файлы, которые были изменены с момента полного или добавочного резервного копирования. При использовании такого режима архивирования выполняется команда tar с параметром --listed-incremental=ФАЙЛ ( -g ФАЙЛ ), где ФАЙЛ указывает на файл метаданных, в котором хранится информация о состоянии инкрементного архива. Если такого файла не существует, то при выполнении команды создается полный архив, а также новый файл метаданных, который будет использоваться в последующих этапах создания инкрементных резервных копий.

tar -zcvf /backup/home.tar.gz --backup=numbered --listed-incremental=/backup/home_meta /home/ - создать инкрементный архив каталога /home. Параметр --backup=numbered указывает на то, что нужно создавать нумерованные резервные копии. Полный архив, в данном примере, будет создан в виде файла с именем home.tar.gz, а последующие инкрементные архивы будут создаваться с именами home.tar.gz.~1~, home.tar.gz.~2~ и т.д. Для восстановления данных из инкрементного архива нужно сначала разархивировать полный архивный файл, а затем – инкрементные:

tar -zxvf /backup/home.tar.gz -C /home2 - извлечь в каталог /home2 содержимое полного архива.

tar -zxvf /backup/home.tar.gz.~1~ -C /home2 - извлечь в каталог /home2 содержимое первого инкрементного архива.

tar -zxvf /backup/home.tar.gz.~2~ -C /home2 - извлечь в каталог /home2 содержимое второго инкрементного архива.

Использование инкрементного архивирования в tar позволяет, например, создавать автоматически с помощью планировщика периодические резервные копии ( ежедневно, еженедельно, ежемесячно и т.п. )

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой "Поделиться"










В начало страницы       |       На главную страницу сайта




Рейтинг@Mail.ru Яндекс.Метрика