Este sitio muestra anuncios que pueden estar patrocinando el contenido u ofreciendo enlaces de afiliados

Respaldos automáticos diarios de un sitio web

Hoy vas a aprender a hacer respaldos automáticos diarios de sitios web en Nginx (archivos y tablas) de forma rápida y automática.

Este proceso es para quienes tengan acceso UNIX a través de una conexión SSH (como en una VPS por ejemplo). El ejemplo es para nginx, pero si usas apache solo cambia los directorios pertinentes

Para ello, generaremos un script que se ejecute cada 24 horas, donde se cree un respaldo de todo tu sitio web y tus tablas. Los respaldos de cada cuarto día se eliminarán, para no saturar tu disco y solo conservarás los respaldos de 3 días a la fecha

Generando script de respaldo web

PASO 1. En PhpMyAdmin:

Crea un usuario que se llame respaldo con todos los permisos y que la contraseña sea CONTRASEÑA (obviamente puedes crear otro nombre de usuario y una contraseña más complicada, esto es sólo un ejemplo)

PASO 2. En UNIX:

Suponiendo que tienes 3 sitios web en tu servidor…

Crea un directorio donde poner tu script:

mkdir -p /var/www/scripts/
vi /var/www/scripts/respaldos.sh

Presiona la tecla I para insertar, luego, dentro pegar (CTRL -> clic derecho -> pegar) lo siguiente:

#!/bin/bash
dtrm=`date -d "-2 days" +%d-%b-%Y`
rm -rf /var/respaldo-$dtrm.tar.gz
dt=`date +%d-%b-%Y`
mkdir -p /var/respaldo-$dt/sql/
cd /var/respaldo-$dt/sql/

mysqldump -u respaldo -pCONTRASEÑA Nombre_de_la_base_de_datos_de_tu_sitio_uno.com > Nombre_de_la_base_de_datos_de_tu_sitio_uno.com.sql

mysqldump -u respaldo -pCONTRASEÑA Nombre_de_la_base_de_datos_de_tu_sitio_dos.com > Nombre_de_la_base_de_datos_de_tu_sitio_dos.com.sql

mysqldump -u respaldo -pCONTRASEÑA Nombre_de_la_base_de_datos_de_tu_sitio_tres.com > Nombre_de_la_base_de_datos_de_tu_sitio_tres.com.sql

cp -r /etc/nginx/sites-available /var/respaldo-$dt/sites-available/
mkdir -p /var/respaldo-$dt/sitios/
rsync -av --exclude='phpmyadmin' /var/www/html /var/respaldo-$dt/
rsync -av --exclude='html' /var/www /var/respaldo-$dt/sitios/
cd /var/
tar -czvf respaldo-$dt.tar.gz respaldo-$dt
rm -rf /var/respaldo-$dt

Para salir y guardar:

ESC :wq Enter

PASO 3. Tareas programadas con CONTAB

EN UNIX:

chmod 777 /var/www/scripts/respaldos.sh
crontab -e

Elegir editor vim (opcion 2) y hasta abajo de todo poner:

* 05 * * * cd /var/www/scripts ; ./respaldos.sh

Guardar y cerrar:

ESC :wq Enter

¡Listo! Tus respaldos se crearán todos los días a las 5 de la mañana y estarán en el directorio /var puedes descargarlos a tu computadora usando FileZilla