Архив Tar: насколько надежно добавление?

Я заметил, что опция -a в TAR позволяет добавлять файлы в существующий архив. Насколько это надежно для создания добавочных резервных копий заданной папки? Есть ли тут кто-нибудь, кто может поделиться своим опытом?

Из руководства TAR:

 -A, --catenate, --concatenate
       append tar files to an archive

person Industrial    schedule 21.01.2011    source источник


Ответы (4)


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

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

person orlp    schedule 21.01.2011

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

person Ignacio Vazquez-Abrams    schedule 21.01.2011

Как указывали другие, tar действительно добавляется к файлу, даже если вы просто продолжаете добавлять один и тот же файл к шару tar:

makholm@korovyov:~$ dd if=/dev/urandom bs=1M count=1 of=./foo
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.513785 s, 2.0 MB/s
makholm@korovyov:~$ for i in {1..5} ; do tar -rf foo.tar foo ; ls -lh foo.tar ; done
-rw-r--r-- 1 makholm makholm 1.1M 2011-01-22 01:07 foo.tar
-rw-r--r-- 1 makholm makholm 2.1M 2011-01-22 01:07 foo.tar
-rw-r--r-- 1 makholm makholm 3.1M 2011-01-22 01:07 foo.tar
-rw-r--r-- 1 makholm makholm 4.1M 2011-01-22 01:07 foo.tar
-rw-r--r-- 1 makholm makholm 5.1M 2011-01-22 01:07 foo.tar
makholm@korovyov:~$ 

Это делает его довольно бесполезным для чего-то вроде инкрементного резервного копирования, поскольку ваш tarball будет просто увеличиваться с кучей дубликатов файлов при каждом запуске...

Даже cpio, который, как правило, является гораздо более надежным архиватором, делает то же самое в этом случае.

Если вы хотите делать добавочные резервные копии, изучите rsync и то, что он может сделать для вас с точки зрения дельта-передачи и ссылок на предыдущие версии файлов...

person Lasse    schedule 22.01.2011

Такой же надежный, как ваше оборудование. Который не.

Кроме того, я не уверен, что он заменит.

person BarsMonster    schedule 21.01.2011