【问题标题】:Tar archive: How reliable is append?焦油档案:附加的可靠性如何?
【发布时间】:2011-06-13 11:36:50
【问题描述】:

我注意到 TAR 中的 -a 选项允许将文件附加到现有存档。这对于创建一组文件夹的增量备份有多可靠? 这里有没有人可以分享他们的经验?

来自 TAR 手册:

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

【问题讨论】:

    标签: linux gzip archive tar


    【解决方案1】:

    正如其他人所指出的,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】:

      由于 tar 是一个磁带存档,最后一个文件将物理地附加到存档中,并带有一个标题。没有可能导致问题的索引表

      因此它非常可靠。即使该过程中途中断,您也可以查找存档直到最后一个完整条目,然后删除它之后的所有内容,就像您从未尝试附加到存档一样。

      【讨论】:

        【解决方案3】:

        与您的硬件一样可靠。 哪个不是。

        另外,我不确定它会取代。

        【讨论】:

          【解决方案4】:

          非常可靠。 tar 不会在文件头中存储有关存档中条目的任何信息,因此附加工作正常。请记住,追加确实意味着追加,因此任何与旧条目同名的新条目都不会从存档中删除旧条目。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-05-19
            • 1970-01-01
            • 1970-01-01
            • 2015-07-21
            • 2011-05-05
            • 2011-08-26
            相关资源
            最近更新 更多