InnoBackupex:XBStream圧縮バックアップから個々のファイルを抽出する方法

dba.stackexchange https://dba.stackexchange.com/questions/108654

  •  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)
.

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top