如何在 Linux 中拆分 gzip 文件?

举报
wljslmz 发表于 2022/09/14 10:46:54 2022/09/14
【摘要】 如何将 gz 文件拆分为较小的文件并移动到另一台服务器并在那里恢复数据库转储?在本教程中,我们将学习如何在 Linux 中拆分 gzip 文件。 拆分 Gzip 文件您可以使用“Split”命令将较大的文件拆分为较小的部分。split 命令的语法如下。split [OPTION]... [INPUT [PREFIX]]此命令会将输入文件的固定大小的片段输出到 PREFIXaa、PREFIXa...

如何将 gz 文件拆分为较小的文件并移动到另一台服务器并在那里恢复数据库转储?

在本教程中,我们将学习如何在 Linux 中拆分 gzip 文件。

拆分 Gzip 文件

您可以使用“Split”命令将较大的文件拆分为较小的部分。

split 命令的语法如下。

split [OPTION]... [INPUT [PREFIX]]

此命令会将输入文件的固定大小的片段输出到 PREFIXaa、PREFIXab 等,您可以根据所需拆分文件的大小(选项 -b)或根据行数(-l)拆分文件。

例如,您可以使用以下命令将文件拆分为 512 MB 的文件。

split –b 512m “file.gz” “file.gz.part-

这将创建名为 file.gz.part-aa、file.gz.part-ab 等的 512MB 文件。

当您尝试拆分数据库转储时,重要的是文件不应在单行之间划分,为了避免此类问题,您可以根据行数拆分文件。

您可以使用 zcat 或“gunzip -c”从 zip 文件中输出行,而无需解压缩实际文件,然后将输出通过管道传递给 split 命令,如下所示。

zcat file.gz | split -l 2000000 - file.part

或者

gunip –c file.gz | split -l 2000000 - file.part

或者

gzip -c file | split -b 1024m - file.gz.part

这将创建包含 2000000 行的文件,每个文件的名称如 file.partaa、file.partab 等。

然后您可以将拆分的文件复制到另一台服务器,由于这是一个数据库转储文件,因此无需合并这些文件,您可以按如下方式将拆分文件单独导入数据库。

mysql –u username –p dbname < file.partaa
mysql –u username –p dbname < file.partab

如果要合并拆分文件以生成单个文件,可以这样做,

cat file.part* > file.gz
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。