2012-01-31 11 views
6

Necesito hacer una copia de seguridad de la base de datos MySQL en mi sistema actual. Estoy usando el comando mysqldump en un trabajo cron usando un script de shell.Mejores prácticas para la copia de seguridad de MySQL

Aquí es más o menos lo que hago:

#!/bin/bash 

fileName=$(date +%H-%M) 
mysqldump -ubackup -hserver1.local.com -A database1 > /backup/$filename.sql 

esta toma aproximadamente 1 hora para completar así que mi pregunta es la siguiente:

necesito para comprimir los datos, así que me gustaría saber si debería primero haga una copia de seguridad del archivo como sql puro y luego comprimirlo o debería comprimirlo inmediatamente desde el comando mysqldump?

Respuesta

8

para reducir el uso de espacio en disco intermedio, puede comprimir en la marcha:

mysqldump (options) | bzip2 -c > /backup/$filename.sql.bz2 

Esto significa que no tendrá que escribir todos los datos de SQL no comprimidos en un archivo, y luego vuelve a leer sobre ella para comprimirlo.

+1

+1 para reducir el uso de espacio en disco intermedio –

+0

¿Qué significa -c? –

+0

@WestonCarlson: [comprimir a salida estándar] (http://linux.die.net/man/1/bzip2) –

Cuestiones relacionadas