Mi Blog
Backups automáticos de tu Web y BBDD

Backups automáticos de tu Web y BBDD

(2 votos)

Todo informático con un amplio bagaje sabrá que, lo realmente importante son los datos. ¿Quién no ha tenido alguna vez algún susto perdiendo información? Los nervios por saber si se han borrado pueden evitarse teniendo un buen/simple sistema de backups.

Una de las primeras cosas que hago cuando cambio de hosting o contrato uno nuevo, es crear mi propio sistema de Backups independiente del que pueda tener el propio proveedor de Hosting. Voy a enseñaros como crear un sencillo sistema de Backups para vuestras páginas webs.

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

El script (o con pequeñas modificaciones) permite lo siguiente:

  • Realizar un backup del Website principal.
  • Realizar Backups páginas alojadas en sub-directorios.
  • Realizar backups de las bases de datos de forma individualizada.
  • Borrado de backups de ficheros cada X días.
  • Borrado de backups de BBDD cada X días.
  • Excluir directorios de realizar el backup.

#!/bin/bash
#
# Script realizado por Raul Prieto Fernandez
#
# email: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
# INICIO VARIABLES
DATE=`date +%Y-%m-%d-%H-%M`
# FIN VARIABLES

# Entramos en el $HOME
cd $HOME

########### PORTFOLIO PERSONAL. EXCLUYO LOS OTROS DOMINIOS
mysqldump --opt -h HOST_MYSQL -u USUARIO_MYSQL -pPASSWORD_MYSQL NOMBRE_BBDD > backup_rpf_$DATE.sql tar zcp * .htaccess --exclude=BACKUPS --exclude=freshcamps --exclude=logs > BACKUPS/raulprietofernandez_$DATE.tgz

# Borramos el Backup SQL Temporal
rm -f backup_rpf_$DATE.sql

# Borramos los Backups mas viejos de 15 dias
for delete_rpf in `find /kunden/homepages/46/d540002551/htdocs/BACKUPS/raulprietofernandez*.tgz -mtime +15`; do rm -f $delete_rpf; done

########### PÁGINA WEB FRESHCAMPS
mysqldump --opt -h HOST_MYSQL -u USUARIO_MYSQL -pPASSWORD_MYSQL NOMBRE_BBDD > freshcamps/backup_fresh_$DATE.sql tar zcp freshcamps/ * > BACKUPS/freshcamps/freshcamps_$DATE.tgz

# Borramos el Backup SQL Temporal
rm -f freshcamps/backup_fresh_$DATE.sql
# Borramos los Backups mas viejos de 30 dias
for delete_fresh in `find /kunden/homepages/46/d540002551/htdocs/BACKUPS/freshcamps/freshcamps*.tgz -mtime +30`; do rm -f $delete_fresh; done

Las variables a tener en cuenta son:

  • HOST_MYSQL = host donde está la base de datos
  • USUARIO_MYSQL = usuario con permisos para acceder a la base de datos
  • PASSWORD_MYSQL = contraseña del usuario
  • NOMBRE_BBDD = nombre de la base de datos
  • BACKUPS = Directorio BACKUPS debe existir previamente, ya que es donde se guardarán los backups
  • BACKUPS/freshcamps/ = Directorio BACKUPS/freshcamps debe existir previamente, ya que es donde se gaurdarán los backups del segundo dominio
  • /kunden/homepages/46/d540002551/htdocs/ = Path completo al $HOME de los documentos html (root path)

Será necesario meter el script en un fichero en el $HOME ó root de los documentos html, y generar una tarea de Crontab que haga una copia cada día. El fichero deberá tener permisos de ejecución, en mi caso se llama full_backups.sh y el permisos de ejecución se hace con "chmod +x full_backups.sh". Los permisos se pueden dar desde un cliente FTP. Con permisos 755 debería de valer, si no funciona, dadle 777 (rwxrwxrwx)

Lo siguiente será meterlo en el CRONTAB, ejecutaremos un backup todos los días a las 23:55. Para ello, editaremos las tareas con "crontab -l" (ó desde el panel de control del hosting) y añadiremos la siguiente linea:
55 23 * * * /kunden/homepages/46/d540002551/htdocs/full_backup.sh ( modifica tu PATH y el nombre del fichero )

El Script hace una copia completa de fichero y bases de datos.

Backup automático

 

 

Cualquier duda, problema o sugerencia, comentadlo.

 

 

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!