Innobackupex :Comment extraire des fichiers individuels à partir de sauvegardes compressées xbstream

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

  •  28-09-2020
  •  | 
  •  

Question

Nous écrivons un mélange de configuration de sauvegarde complète et incrémentielle pour notre backend de produit, le dimanche déclenchant une sauvegarde complète et une sauvegarde incrémentielle tous les jours restants.

Dans ce processus, nous devrions pouvoir lire le numéro LSN d'un fichier à partir du fichier de sauvegarde complet.

Nous avons configuré le script pour compresser la sauvegarde au format xbstream afin d'obtenir un seul fichier compressant toutes les données.

La question est maintenant de savoir comment extraire ou lire le LSN ou un seul fichier d'informations du fichier xbstream complet.

Bien que nous puissions utiliser un fichier journal pour cela, nous souhaitions une solution plus fiable.

Merci.

Était-ce utile?

La solution

XtraBackup enregistre le LSN le plus récent non seulement dans xtrabackup_info que vous devrez extraire, mais aussi à 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)

Le LSN serait 1948062848.Rechercher une chaîne xtrabackup: The latest check point (for incremental): dans la sortie.Voir http://bazaar.launchpad.net/~twindb-dev/twindb-agent/trunk/view/head:/twindb.py#L1888 Par exemple:

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

Ensuite, passez 1948062848 avec --incremental-lsn= option lorsque vous effectuez une copie incrémentielle.Exemple: 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)
Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top