Respalda automáticamente SQL a tu E-mail
Hace ya varios días que vengo buscando la forma de respaldar la base de datos MySQL de un blog en WordPress, y es que si bien estoy conforme con el hosting, nunca se puede estar 100% seguro. Hice algunas consultas en Twitter, y la mayoría coincidió con que es mas fiable hacer el respaldo manual que con un plugin de WordPress, eso sumado a que cuantos menos plugins tenga instalado mejor para el blog me llevó a investigar como resolver el problema.
Navegando me encontré con muchos scripts y muchas formas de realizar el respaldo, pero la mejor y que ya probé y elegí, es la siguiente, que no solo realiza el respaldo de la base de datos MySQL, sino que te la envía por mail.
Para utilizarlo necesitan cambiar “prefijo_usuario”, “password” y “prefijo_basededatos” por los de su base de datos MySQL. También cambiaremos las direcciones de correo por la del remitente y la que queremos que le lleguen los respaldo.
Este script, al que llamaremos backup.php funciona con los paquetes Pear Mime y Pear Mail de PHP. El archivo Mail.php del paquete “Pear Mail” debe estar en el mismo directorio que el backup.php, también en el mismo directorio, debemos guardar la carpeta Mail, que contiene el archivo mime.php. En todo caso pueden bajar un archivo zip con toda la estructura pronta, solo deberán cambiar el backup.php que el zip contiene, por el nuestro, ya que aquí esta adaptado para comprimir bases de datos grandes.
Una vez ubicados estos archivos en nuestro servidor, lo ideal seria que no queden a la vista del público, para esto hay que guardarlos fuera de la carpeta public_html, y para realizar el respaldo, debemos ejecutar el archivo backup.php en nuestro servidor.
Ahora bien, para que esto funcione automático, debemos utilizar Cron Job en nuestro servidor, si contamos con cPanel como panel de control, esto es muy fácil, les dejo una simple guía de como hacerlo. Al escribir el comando que Cron Job debe ejecutar, no olvidarnos de poner delante “php”, de otra forma Cron Job no reconocería el archivo.
Visto en: Peter’s Useful Crap
Foto: Nathonline-Beta
Posts relacionados:
12 Comentarios
Trackbacks/Pingbacks
- Como respaldar tu blog hecho en WordPress - [...] poco menos de un año, encontré una forma práctica de respaldar la base de datos SQL de WordPress a ...

Me llamo Federico Lorenzo desde chiquito, uruguayo de veintitrece años años, adicto a Internet, las comunicaciones y las nuevas tecnologías.
Enfermo probador de themes y plugins para WordPress.



Eh, no me gusta, por el simple motivo de que una base de datos puede contener información “sensible”, y el email es un sistema de por sí inseguro.
Mi solución sería un cron que haga mysqldump, gzippee el archivo, y lo copie por ssh a otro server en otro lado, o lo suba a S3 (la solución más cost effective a la larga.)
Califícalo:
0
Si, la idea acá era no gastar un solo peso de mas y obviamente tener el respaldo fuera del servidor donde esta la base de datos, no tenia idea de los precios de S3, recién me fije y me parecieron muy baratos, o realmente es barato, o estoy dormido
Tampoco hace falta un email inseguro, algunos usan “password” como contraseña jajaja.
Gracias por comentar, yo no se nada de programación, así que si un día tenes ganas, escribite ese script, que lo posteamos
Saludos
El tema con el email, es que descuidas la computadora un segundo, o dejas a alguien en ella y gmail esta loggeado, o—you get the idea
S3 es genial. Si no transferis demasiadas cosas, no gastas nada. O bueno, te llega una factura a fin de mes por 1 centavo, lo cual es simplemente gracioso
Califícalo:
0
Si si, entiendo, de todas formas es una alternativa, si alguien quiere mas seguridad, se abre una cuenta solo para esto, y listo… no tiene que acceder nada mas que para restaurar la base de datos.
Que se yo, son alternativas.
Muy bueno Fede!!!
En este caso discrepo con Nicolás, me parece una postura algo extrema.
Saludos,
martin.-
Califícalo:
0
Ah bueno, Nicolás, lamento decirte que es de las pocas veces que Martín esta de acuerdo en algo, asi que me quedo con la postura de Martín!! Jajajaja
Nah.. chiste chiste
Una solución que podría dejar contentos a todos es encriptar el dump con gpg antes de mandarlo por mail..
Concuerdo con Nicolás que mandar el dump abierto por mail es un agujero gigante de seguridad.
Califícalo:
0
Sepan Luar y Nicolás que la mitad de lo que me dicen es como chino para mi, pero voy a investigar lo de encriptar el volcado de la base… De todas formas, si alguno quiere colaborar con la linea de código ya escrita, es bienvenido
Saludos
Hola Fedelosa, sabes soy un poco novato en esto, tengo un servidor arrendado con un sitio en el, tengo base de datos en mysql, aplico lo que indicas, cargué los paquetes pear mime mail en el cpanel, modifique el código que indicas y lo demás lo cargué en el mismo orden que estaba en el archivo descargable, la carpeta se llama backup y está fuera de public_html. A través de Cron Jobs programo la aplicación del comando, pero no pasa nada, he esperado 24 hrs inclusive para ver si funciona y nada.
Como puedo comprobar o ejecutar de inmediato el archivo backup.php, sin esperar la programación para saber si funciona, ya que lo tengo en una carpeta que no es pública?.
Gracias de antemano.
PD: otra cosa al insertar php en cron jobs es sin comilla, cierto???
Victor
Califícalo:
0
Estaba puro molestando, solo debia pasar la carpeta a public para probarlo. La cosa queda así, me envia el correo con el mje, pero no el archivo adjunto, y al ejecuar backup.php me aparece el siguiente error:
Warning: unlink(xxxxxxx2010-11-05.sql.tar.gz) [function.unlink]: No such file or directory in /home/xxxx/public_html/backup/backup.php on line 35
ojalá puedan ayudarme.
saludos,
Victor
Califícalo:
0
Yo no entiendo mucho del tema, pero por el error diria que el respaldo te esta quedando guardado en un directorio diferente, fijate de revisar bien las rutas del script
¿Tendrás algún script que respalde no solo la base de datos sino también los archivos?
Califícalo:
0