Script Respaldo Automático MySQL DB + Envío respaldo a correo

Este script, generará un respaldo de su base de datos y lo enviará directo a su correo electrónico, el proceso es simple, y no se juntarán copias y copias de su base de datos respaldada ya que cada vez que genere un respaldo este sobrescribirá el anterior.

Una vez el respaldo sea generado, este será enviado como archivo adjunto al correo electrónico que usted configure, tenga presente que este sctipt no está pensado para bases de datos enormes, y desconocemos las políticas de cada proveedor de correo o de servicio de hosting, por lo cual en algunos casos es posible que este script no funcione, por lo mismo no nos hacemos responsables si es que el correo no sale del servidor o no llega a destino. Y en cualquier caso antes de correr este script siempre debe tener un respaldo de su base de datos reciente en caso que accidentalmente cambie alguna función de este script al momento de editarlo.

Descarga de Script -> backupdb_MySQL.rar

Información Pertinente/Importante:
Permisos de escritura: Carpetas 755; Archivos 644

usuario/USUARIO = Su usuario de cPanel

usuario_usuariodb = Usuario con permisos sobre la base de datos, este se crea en cPanel en la sección de MySQL y luego se le da permisos sobre la base de datos, se puede pero no se recomienda utilizar el usuario de cPanel ya que esta contraseña puede cambiar y el script dejar de funcionar.

CONTRASEÑADB = Contraseña asignada a usuario_usuariodb

usuario_nombredb = nombre de la base de datos creada en cPanel en la sección MySQL

Usando FTP, creamos un directorio llamado

/backup

Directamente en el /HOME (raíz) de su ftp, es decir junto a /www y /public_html etc…
Dentro de /backup una carpeta llamada

/logs

Ej:

/home/USUARIO/backup/logs

Luego agregamos dentro de la carpeta /logs un archivo llamado

Errorlog.txt

Agregarle permisos de escritura según corresponda.

------------

Subir los siguientes archivos en carpeta /backup

class.phpmailer.php
mysqlbackup.php
mysqlbackup.sh

Con algún editor, modificar los siguientes archivos (solo entre comillas “##”):

1)      mysqlbackup.php

$user = "usuario";  <-- cambiar por su usuario de cPanel

$mail->From = "respaldo@correo.com";  <-- Cambiar por correo que envía (puede ser ficticio)

$mail->AddAddress("correo@correo.com"); <-- Cambiar por correo que recibirá el respaldo, se sugiere un @gmail ya que es probable que la base de datos pese bastante y otros servidores bloqueen el adjunto.

2)      mysqlbackup.sh (Modificar áreas en ROJO)

mysqldump -u usuario_usuariodb -pCONTRASEÑADB usuario_nombredb --add-drop-table -Q | gzip > "/home/usuario/backup/mysqlbu_usuarioDB.sql.gz" 2>>"/home/usuario/backup/logs/Errorlog.txt"

php -q /home/usuario/backup/mysqlbackup.php

CRON JOB:

Ahora debemos crear una tarea programada “cron job” para automatizar la generación del respaldo, esto puede ser cada X minutos, Horas, Días, meses , etc.. Favor distanciar los respaldos lo más posible para evitar que falle el script, 1 vez cada 24 o 48 horas es suficiente.

Primero ir a cPanel e ingresas con su usuario y contraseña:

Click en “Cron Jobs” bajo menú “Avanzada”

Ingresar un mail de reporte, si algo falla, este mail le indicará cual es la falla y también sabrá que se está ejecutando el CRON JOB y con eso que su respaldo viene en camino.

En la línea de comando agregar:

/home/USUARIO/backup/mysqlbackup.sh

Modificar el USUARIO por suyo de cPanel.

Luego fijar el intervalo o frecuencia en que debe correr el CRON JOB.


Y ya está listo.


;)

Créditos:

PHPMailer class proviene de: http://phpmailer.sourceforge.net – aquí pueden descargar la última versión de este archivo y ver otras funcionalidades del mismo si lo desean.

La idea original proviene de un foro que en la actualidad no existe y fue mejorado por: http://www.classicwebdesign.com/db_backup/ - este script fue modificado y simplificado para el uso de quienes utilicen este tutorial.

Este código es 100% libre, siéntanse libres de compartirlo, mejorarlo o adaptarlo a sus respectivas necesidades.

  • 5 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Configurar DNS en www.nic.cl

En el siguiente tutorial, quienes hayan adquirido un dominio punto CL en www.nic.cl podrán...

Uso cliente FTP

FTP es un protocolo de transferencia de archivos. Para colocar y descargar archivos de y hacia...

Configurar - Cpanel Webmail en Outlook POP3

Con el siguiente tutorial, los clientes DenialHost Hosting y Reseller podrán configurar sus...

Configurar - Cpanel Webmail en IOS (Iphone/Ipad) POP3

Con el siguiente tutorial, los clientes DenialHost Hosting y Reseller podrán configurar sus...

Configurar - Cpanel Webmail en IOS (Iphone/Ipad) IMAP

Con el siguiente tutorial, los clientes DenialHost podrán configurar sus correos con un...