InnoBackupex:XBStream圧縮バックアップから個々のファイルを抽出する方法
-
28-09-2020 - |
質問
私たちは、残りの日曜日のフルバックアップとインクリメンタルバックアップを使用して、Prodcut Backendのフルバックアップ設定と増分バックアップ設定の組み合わせをスクリプティングしています。
このプロセスでは、フルバックアップファイルからファイルのLSN番号を読み取ることができるはずです。
バックアップをXBStreamフォーマットに圧縮するようにスクリプトを設定して、すべてのデータを圧縮します。
今質問は、完全なXBSTREAMファイルからLSNまたは1つの情報ファイルを抽出または読み取る方法です。
これにログファイルを使用することはできますが、より信頼性のある解決策を望んでいました。
ありがとうございました。
解決
XTrabAckupは、抽出する必要があるがSTDERRにも、抽出することができるのは、最新のLSNをログに記録します。
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はxtrabackup_info
になります。出力に文字列1948062848
を見つけます。 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
.
次に、増分コピーを取ると、xtrabackup: The latest check point (for incremental):
オプションを渡します。例: 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)
. 所属していません dba.stackexchange