假设我执行此操作tar cfzp home.tar.gz /home(需要一段时间)并且在压缩期间文件更改并且 tar 失败,我收到“文件在我们读取时已更改”并且 tar 停止。我认为 home.tar.gz 现在不完整,或者这只是“通知”而不是真正的错误?
是否有某种“强制”选项可以使 tar 完成其工作并且不会因错误而中止?
编辑/更新:我发现“--ignore-failed-read 不要在不可读的文件上以非零值退出”,至少我认为它正在工作。但是需要注意参数的顺序,因为您最终可能会得到一个名为“--ignore-failed-read”的 tar 文件
我需要忽略其他任何东西吗?
更新:如果没有“--ignore-failed-read”,如果文件已被删除“文件在我们阅读之前被删除”,tar 将继续运行。但是,我认为它可能会因“文件在我们读取时已更改”错误而中止,但我真的不知道。很难将存档与“原始”进行比较,因为我有来来往往的缓存文件等。
更新:仔细观察“文件在我们阅读时发生了变化”更像是一个通知,如果在 tar 开展业务时文件发生变化,则 tar 似乎会继续运行。但我会留下答案,也许更有经验的人可以增加更多的见解。
我在保存备份的 tar 文件方面遇到了一些麻烦。它由我们的托管服务提供商提供,并包含一些奇怪的文件权限。
观看时
tar tvf example.tar
Run Code Online (Sandbox Code Playgroud)
我只获取每个文件的符号所有者信息(与/etc/passwd中的现有用户不匹配)。现在我想调查也应该存储在 tar 中的数值是否包含正确的值。有没有方便的方法呢?
谢谢
我有一个简单的问题,但我无法找到或解决答案。我想制作一个 tar 存档,但我想使用正则表达式从中排除一些文件。
要排除的文件示例如下: 68x640X480.jpg
我试过这个没有运气:
tar cvf test.tar --exclude=[0-9]+x[0-9X]+\.jpg /data/foto
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
在 bz2 压缩文件上执行 tar 时,我遇到以下错误,
tar: dump.sql: 文件缩小了 19573448400 字节;用零填充
谁能指出可能导致此问题的原因?
谢谢。
我的源机器上有一个巨大的文件(> 20 个演出),我需要将它传输到我的目标机器上。对于这个问题,我们假设两台机器之间没有网络连接。
我需要将此文件分解为一系列较小的文件,将较小的文件写入 DVD,然后在目标机器上重新组装所有内容。
源和目标机器都是 Linux 机器。有没有办法使用tar? 我有一种感觉,我需要使用该--multi-volume参数。我有哪些选择?
我需要能够指定卷文件的大小,以确保每个文件都适合单个 DVD。
谢谢!
是否可以在 tar 存档中设置任意路径来放置原始文件系统中可能不存在的文件?这与 -C 开关的不同之处在于我可能想要备份 /etc/,但将其作为 /configurations/etc/ 放在存档中。
我有一个 Linux TAR 文件,我想直接将其转换为 ISO。有没有办法做到这一点,最好,而不必先提取文件的内容?
这将类似于以下问题;然而,这主要针对普通或直接的 tar 文件,与 bzip 或 bzipped tar 无关。
这也是我打算在脚本中使用的东西,也是我不想先提取它的原因。
似乎无法挂载 tar 文件(只读),就像挂载 ISO 映像文件一样。至少,我还没有找到任何实现。
例如,在内部运行find命令会很有用。
这真的(或实际上)不可能实施吗?为什么?
更新通过接受回答,这确实是可能的,尽管必须安装一个程序(不包括在当前发行版中)。它对我有用。我复制了我的场景 (Fedora 12) 中的安装和使用步骤。
# yum install fuse fuse-libs fuse-devel
# yum install libarchive libarchive-devel
# cd /tmp && wget http://www.cybernoia.de/software/archivemount/archivemount-0.6.0.tar.gz
# tar xzf archivemount-0.6.0.tar.gz && cd archivemount-0.6.0
# ./configure && make && make install
# man archivemount
# archivemount -o ro /tmp/mytar.tgz /mnt/tt
Run Code Online (Sandbox Code Playgroud) tar 可以创建不同格式的存档。GNU tar、ustar、pax、v7。什么是最好的长时间存档?这些格式是否存在显着差异?
我会使用最好的格式进行一般备份,我不希望我可以提取数据,因为格式问题。(例如,v7 从实现中消失)
我有一个 38GB 的“Moodle”tar 文件,需要从旧服务器(共享主机)传输,我们可以将其称为“服务器 A”到新服务器(专用虚拟)或“服务器 B”。如果有帮助,我在 Mediatemple。
我已经将目录压缩并使用 wget 通过 SSH 将其传输到服务器 B,但是 - 这是一个微不足道的 100GB 包,而且我的磁盘容量为 96% - 这意味着我无法在服务器 B 上解压缩文件!有什么方法可以将这个巨大的文件从服务器 A 传输到服务器 B,同时保留权限并尽量减少文件损坏的可能性,这不会使我达到磁盘限制吗?
虽然到目前为止我已经花了很长时间做这件事,但如果有人能提供更好的主意,我愿意放弃我原来的计划——我将不胜感激!