Архив tar: Насколько надежно добавить? - PullRequest
3 голосов
/ 22 января 2011

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

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

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

Ответы [ 4 ]

5 голосов
/ 22 января 2011

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

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

2 голосов
/ 22 января 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 и что он может сделать для вас с точки зрения дельта-переносов и ссылок на предыдущие версии файлов ...

2 голосов
/ 22 января 2011

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

0 голосов
/ 22 января 2011

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

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

...