Tar - 拆分文件

Ran*_*Ran 4 linux compression tar

我正在使用以下命令来备份和 sql 文件:

tar -zcvf "$BACKUP_DST/$FILE_NAME.tgz" "$BACKUP_DST/$FILE_NAME.sql"
Run Code Online (Sandbox Code Playgroud)

我想确保压缩文件不会大于 300mb,如果超过 300mb,请将其拆分为多个文件。

有什么想法吗?

小智 8

我认为没有tar内置的以任意大小拆分的功能(有-M用于多卷,但这依赖于检测到空间不足情况的目标媒体),但是您可以做两件事:

  1. 以通常的方式生成单个 tar.gz 文件,然后使用该split命令将其划分为多个部分(并将cat它们重新连接在一起以进行解压缩)。
  2. 使用dar而不是 tar,因为它具有内置的拆分功能(在 tar 没有的许多其他功能中)。例如

    $ dar -c "$BACKUPNAME" -g "$INPUTFILE.sql" -s300M -z