Innobackupex: come estrarre singoli file dai backup compressi xbstream
-
28-09-2020 - |
Domanda
Stiamo scriptndo un mix di configurazione di backup completa e incrementale per il nostro backup del prodotto con il backup completo del backup completo di domenica e il backup incrementale su tutti i giorni rimanenti.
In questo processo, dovremmo essere in grado di leggere il numero LSN di un file dal file di backup completo.
Abbiamo configurato lo script per comprimere il backup in formato XbStream in modo che si travolino un singolo file che comprime tutti i dati.
Ora la domanda è come estrarre o leggere il file LSN o un singolo info dal file XbStream completo.
Anche se possiamo usare il file di registro per questo, volevamo una soluzione più affidabile.
Grazie.
Soluzione
Xtrabackup registra il LSN più recente non solo in xtrabackup_info
che dovrai estrarre, ma anche a 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)
.
L'LSN sarebbe 1948062848
.Trova la stringa xtrabackup: The latest check point (for incremental):
nell'output.Vedi http:// bazar.Launchpad.net/~twindb-dev/twindb-agent/trunk/view/head:/twindb.py#l1888 ad esempio:
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
.
Quindi, passare 1948062848
con opzione --incremental-lsn=
quando si effettua una copia incrementale.Esempio: http:// bazar.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)
.