在数据库备份过程中,我会生成一个文本转储文件。由于数据库非常庞大,因此转储文件也很大,因此我使用gzip进行压缩。压缩是在生成转储时内联完成的(感谢Unix管道!)。
在进程结束时,我通过观察最后一行并检查“Dump completed”字符串是否存在来检查转储文件的有效性。在我的脚本中,我通过将最后一行提取到变量中来完成这个过程:
由于数据库转储文件非常大(目前超过200GB),因此这个结束进程检查需要花费很长时间才能运行(目前超过180分钟)。
我正在寻找一种更快地提取.gz文件中最后一行的方法...有什么建议吗?
注1:为了解释上下文,我们可以说数据库是MySql community,备份工具是mysqldump,生成的转储文件是一个完整的文本文件。操作系统是CentOs。备份脚本是Bash shell脚本。
注2:我知道Percona xtraBackup,但在我的情况下,我想使用mysqldump进行此特定的备份工作。恢复所需的时间不是问题。
在进程结束时,我通过观察最后一行并检查“Dump completed”字符串是否存在来检查转储文件的有效性。在我的脚本中,我通过将最后一行提取到变量中来完成这个过程:
str=`zcat ${PATHSAVE}/dumpFull.sql.gz | tail -n1`
由于数据库转储文件非常大(目前超过200GB),因此这个结束进程检查需要花费很长时间才能运行(目前超过180分钟)。
我正在寻找一种更快地提取.gz文件中最后一行的方法...有什么建议吗?
注1:为了解释上下文,我们可以说数据库是MySql community,备份工具是mysqldump,生成的转储文件是一个完整的文本文件。操作系统是CentOs。备份脚本是Bash shell脚本。
注2:我知道Percona xtraBackup,但在我的情况下,我想使用mysqldump进行此特定的备份工作。恢复所需的时间不是问题。