![在多个预定义磁带上生成 tar](https://linux22.com/image/204107/%E5%9C%A8%E5%A4%9A%E4%B8%AA%E9%A2%84%E5%AE%9A%E4%B9%89%E7%A3%81%E5%B8%A6%E4%B8%8A%E7%94%9F%E6%88%90%20tar.png)
如何将tar
某些文件保存到多个磁带上,并预先列出每个磁带?这样我就可以拥有完全无人值守的存档,一旦磁带已满,无需物理更改介质。
就我的具体情况而言,
- 每个磁带实际上都是一个
/dev/sd?
块设备,存档被写入原始磁盘,并且没有分区或文件系统来节省空间。 - 所有目标磁盘同时连接到主机。
tar
是 GNU 版本 1.34。- 最大单个文件大小小于最小目标的大小。
到目前为止,为了执行此任务,我有以下命令:tar -c -M -f /dev/tape1 -f /dev/tape2 ... /files/to/be/archived
。
分步演练:
tar -c
是创建 tar 存档的命令。-M
告诉tar
我我想制作一个多卷存档。-f
与每个要写入的目标磁带一起列出多次。/files/to/be/archived
是要存档的内容。
由于--tape-length
命令中不存在,tar
因此应在每个磁带上写入尽可能多的内容,无论磁带相对于其他磁带有多大。这允许不同尺寸的磁带。
这会像我上面解释的那样工作吗,或者行为会有所tar
不同吗?
答案1
使用上面列出的命令,/dev/tape0
并用类似的命令替换实际的设备名称,tar
成功完成了存档的创建。
是否可以将该存档提取回单独的文件,将很快进行测试。
编辑:存档已成功提取。