Las bases de datos guardan información fundamental para nuestro negocio o actividad, y un aspecto a tener muy en cuenta es realizar copias de seguridad o backups regulares tanto de los datos que contienen como de su estructura.
Las webs, como aplicaciones que son, no están exentas de necesitarlas, pues ya sea por ataques o por desgracias físicas de los servidores en las que están alojadas, no podemos permitirnos dejar a nuestros usuarios o visitantes sin servicio, así que es necesario contar con una buena política de copias de seguridad.
Si tenemos una web, blog, servicio online, etc y utilizamos una base de datos MySQL podemos emplear diferentes mecanismos para realizar la copia de seguridad, por ejemplo entrar enphpMyAdmin, si disponemos de él, y hacerla manualmente. Pero si queremos ahorrarnos entrar en este administrador de bases de datos y nuestra máquina ya tiene MySQL instalado, podemos emplear el siguiente comando para crear un archivo en nuestra máquina con la copia de seguridad de una base de datos MySQL de un servidor remoto:
mysqldump -h [nuestro.servidor.com_o_IP] -u [usuario] -p[password] [base_de_datos] > archivo_backup.sql
Este comando nos creará el archivo archivo_backup.sql con el contenido de la base de datos que le hayamos indicado. Cuidado, entre -p y [password] no hay ningún espacio.
Seguro que os preguntaréis para qué puede servir ésto; pues bien, la respuesta es sencilla: paraautomatizar el proceso y poder programar una o varias copias de seguridad diariamente,ejecutando mediante Cron un script programado en Python como el que se muestra a continuación:
#!/usr/bin/python import datetime import os command = "mysqldump -h [nuestro.servidor.com_o_IP] -u [usuario] -p[password] [base_de_datos]" # Objeto HOY today = datetime.date.today() # Formatea como YYYYMMDD fecha = today.strftime("%Y%m%d") # Fichero de salida file = "backup_Servidor_"+fecha command = command+" > /home/javi/backups/Servidor/"+file+".sql" os.system(command)
Con un script parecido al anterior, y programado para que se ejecute diariamente, tendremos una buena política de copias de seguridad, generando cada día un archivo de texto con el sufijo de la fecha en su nombre y con todo el contenido de la base de datos, tanto de su estructura de tablas como de los registros que éstas contengan.
Excelente aporte compañero…gracias…!!!
algo que comentar es que si tienes un hosting y usas cpanel, tienes que activar el acceso remoto con la ip – hay varias paginas que te dicen que ip tienes, no confundir con 127.0.0.0 o con 192.192.168.*.* –
la ultima ip me chispotie
Hola amigos les comparto un tutorial donde podrán encontrar la forma de hacer respaldos programados con mysqldump, creando un fichero .bat y programando una tarea en windows para que se ejecute de manera automática, espero sea de ayuda para alcanzar sus objetivos
http://voleos.com.mx/crear-backup-de-mysql-con-tarea-programada-y-bat/
Saludos.