如何在Linux中拆分GZIP文件
时间:2020-03-05 15:27:40 来源:igfitidea点击:
如何将GZ文件(数据库转储)拆分为较小的文件并移动到另一台服务器并在那里恢复数据库转储?
我们可以使用"拆分"命令将更大的文件拆分为较小的部分。
拆分命令的语法如下。
split [OPTION]... [INPUT [PREFIX]]
此命令将将固定大小的输入文件输出到prefixaa,prefixab等。
我们可以根据所需拆分文件(Option -b)的大小或者根据行(-L)的大小来拆分文件。
例如,我们可以使用以下命令将文件拆分为512 MB文件。
# split –b 512m “file.gz” “file.gz.part-“
这将创建名为file.gz.part-AA的512MB文件,Files File.gz.part-AB等。
当我们尝试拆分数据库转储时,重要的是,文件不应在单行之间分开。
为了避免此类问题,我们可以根据行数拆分文件。
我们可以使用zcat或者"gunzip -c"从zip文件输出行,而不会解压缩实际文件,然后将输出管道拆分命令如下。
zcat file.gz | split -l 2000000 – file.gz.part or gunzip –c file.gz | split -l 2000000 – file.gz.part
这应该在每个文件中使用2000000行创建文件.gz.partaa,files file.gz.partab等。
然后,我们可以将拆分文件复制到另一个服务器中。
由于这是一个数据库转储文件,因此无需组合文件。
我们可以将拆分文件单独导入数据库,如下所示。
# mysql –u username –p dbname < file.gz.partaa # mysql –u username –p dbname < file.gz.partab
如果要将拆分文件组合生成单个文件,则可以执行此操作
cat file.gz.part* > file.gz