我们正在为我们的产品后端编写一个完整的和增量式的备份设置,周日触发了剩余的全部备份和增量备份。
在此过程中,我们应该能够从完整备份文件中读取文件的LSN编号。
我们已经设置了脚本来将备份压缩为xbstream格式,这样它就会产生一个文件来压缩所有数据。
现在的问题是如何从完整的xbstream文件中提取或读取LSN或一个信息文件。
尽管我们可以使用日志文件来解决这个问题,但是我们需要一个更可靠的解决方案。
谢谢。
发布于 2015-07-31 16:40:40
XtraBackup不仅在必须提取的xtrabackup_info中记录最近的LSN,而且还记录到STDERR:
150731 16:33:28 innobackupex: Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
150731 16:33:28 innobackupex: Waiting for log copying to finish
xtrabackup: The latest check point (for incremental): '1948062848'
xtrabackup: Stopping log copying thread.
.>> log scanned up to (1948062848)LSN将是1948062848。在输出中找到字符串xtrabackup: The latest check point (for incremental):。例如,请参见http://bazaar.launchpad.net/~twindb-dev/twindb-agent/trunk/view/head:/twindb.py#L1888:
def grep_lsn(output):
"""
Finds LSN in XtraBackup output
:param output: string with Xtrabackup output
:return: LSN
"""
lsn = None
for line in output.split("\n"):
if line.startswith("xtrabackup: The latest check point (for incremental):"):
lsn = line.split("'")[1]
return lsn然后,在获取增量副本时传递带有1948062848和--incremental-lsn=选项。示例:http://bazaar.launchpad.net/~twindb-dev/twindb-agent/trunk/view/head:/twindb.py#L1429
if backup_type == 'incremental':
last_lsn = job["params"]["lsn"]
xtrabackup_cmd.append("--incremental")
xtrabackup_cmd.append(".")
xtrabackup_cmd.append("--incremental-lsn=%s" % last_lsn)https://dba.stackexchange.com/questions/108654
复制相似问题