hombres reales no hacen copias de seguridad. Ellos subirlo via ftp y dejar que el espejo del mundo él.
– Linus Torvalds
Aquí es un método simple para hacer copias de seguridad diarias de las bases de datos de MySQL en un servidor. Este método le ahorrará un archivo separado para cada base de datos, cada mañana a las 04 a.m., en un archivo con el nombre con el anfitrión, base de datos y la fecha. Este método es muy conveniente para restauraciones rápidas, para cualquier día dentro de las últimas dos semanas.
Cree un usuario de copia de seguridad de MySQL y conceder permisos de base de datos. A continuación, establezca la secuencia de comandos de copia de seguridad se ejecute todos los días a las 4 con cron.
# adduser mysqlbackup
# mysql-u root-p-e "GRANT SELECT, LOCK TABLES ON * A * 'mysqlbackup' @ 'localhost' IDENTIFICADO POR 'XXXXXXX';. privilegia ras;"
# touch / home / mysqlbackup / mysqlbackup.sh; chmod + x / home / mysqlbackup / mysqlbackup.sh />
Establezca la contraseña de usuario de mysql backup, en sustitución de XXXXXX con su propia contraseña, en el archivo my.cnf..
/ home / mysqlbackup / .my.cnf
[cliente]
user = mysqlbackup
password = XXXXXXX/ casa / mysqlbackup / mysqlbackup.sh
#! / bin / sh />
# # # obtener el nombre de host
MyHost = "` hostname-s `"
# # # volcado de forma individual todas las bases de datos con marcas de tiempo
para que en `mysql-e" mostrar las bases de datos; "| egrep-v '^ Database $ | Guarda $ '`; no
# # # volcado y comprimir
mysqldump - single-transaction - quote-names - opc $ I | gzip-cf> / home / mysqlbackup / $ myhost-$ I `date +% Y% . m% d `sql.gz
# # # eliminar dos semanas de vertederos antiguos
rm-f / home / mysqlbackup / $ myhost-$ I` date + Y% m% d% - fecha = "-14 días" `.
sql.gz hechoRecomiendo ejecutar el script al menos una vez con la mano para comprobar la funcionalidad.
class=cli> # su - mysqlbackup
$ / home / mysqlbackup / mysqlbackup.sh />
Ahora que ya tiene la base de datos todos los días vertederos, para hacer un te restituirá simplemente gato el archivo de volcado en el cliente mysql. La base de datos actual será dado de baja y reconstruida desde el archivo seleccionado. He aquí un ejemplo de restauración de la base de datos importantstuff en el host foo de 04 a.m. en 2011, 30 de abril.
# zcat / home/mysqlbackup/foo-importantstuff-20110430.sql.gz | mysql-u root-p importantstuffEs fácil. Realice copias de seguridad!