domingo, 16 de junio de 2013

Copia de seguridad y recuperación de secuencias de comandos de MySQL usando innobackup y Xtrabackup de Percona


Original post: http://anothermysqldba.blogspot.com/2013/06/backup-and-recovery-script-for-mysql.html

Así Percona tiene el ampliamente utilizado herramienta de copia de seguridad Xtrabackup y se dan cuenta que todo el mundo a menudo utiliza esta herramienta en una secuencia de comandos de algún tipo. El disponer de una página que habla de esto:


Desde hace poco me dio un ejemplo de cómo utilizar la copia de seguridad en un anteriormensaje . Pensé que también podría escribir un script que muestra cómo automatizar el proceso de copia de seguridad. Además de que hace años que he escrito en Python, así que quería tener un poco de práctica también.

Así que la introducción del código está abajo, pero he puesto el script en github .
Se necesitan más pruebas pero no dude en consultar la base de código a cabo y actualizar y editar.

Una vez que el código se prueba más que pueda actualizar ejemplos pero quería estar abierta en este proyecto desde el principio.

Dado que es en las primeras etapas Yo recomiendo usar la opción - showcommands = 1 opción para que pueda ver lo que el código tiene previsto hacer y tal vez probar los comandos. Es evidente que no se debe utilizar en un sistema de producción todavía.


En primer lugar una introducción a la misma:

# ./backup_restore.py --help
Usage: backup_restore.py --process=[fullbackup,incremental,prepare,restore] --help --version --showcommands=1

This program enables you to backup full and incremental backups then prepare
and restore them using Percona's Xtrabackup

Options:
--version show program's version number and exit
-h, --help show this help message and exit
--process=PROCESS What would you like to do --process=
[fullbackup,incremental,prepare,restore]
--debug=DEBUG TURN DEBUG ON 1 OR OFF 0 OR VERBOSE 3
--showcommands=SHOWCOMMANDS
Shows the commands instead of executing them except
for the restore section because we go through that
step by step
--backup_root_directory=BACKUP_ROOT_DIRECTORY
THE ROOT DIRECTORY OF ALL YOUR BACKUPS, You can set
DEFAULT at start of the script
--percona_xtrabackup_location=PERCONA_XTRABACKUP_LOCATION
THE LOCATION OF YOUR xtrabackup FILE, You can set
DEFAULT at start of the script
--datadir=DATADIR MYSQL DATA DIR LOCATION, You can set DEFAULT at start
of the script
--username=DB_USERNAME
MySQL Username, You can set DEFAULT at start of the
script
--password=DB_PASSWORD
MySQL Password, You can set DEFAULT at start of the
script
--default_file=DEFAULT_FILE
MySQL my.cnf file location, You can set DEFAULT at
start of the script
--options=PERCONA_OPTIONS
Additional Options for innobackupex