Automatizar los backups en un servidor dedicado que aloja múltiples sitios web mediante vhosts es esencial para garantizar la seguridad y disponibilidad de los datos. En este artículo, aprenderás a crear un script en Bash para automatizar el proceso de respaldo de los diferentes sitios web alojados en un servidor con vhosts. Incluiré ejemplos de código para que puedas implementarlo fácilmente.

Paso 1: Configuración del Entorno

Antes de comenzar a escribir el script, asegúrate de que tu servidor tenga acceso SSH configurado y que poseas privilegios de root o sudo. Además, necesitarás un directorio donde se almacenarán los backups.

Paso 2: Creación del Script de Backup

A continuación, se muestra un ejemplo de un script en Bash que automatiza los backups de los vhosts. Este script comprimirá los archivos de cada sitio web y los almacenará en un directorio de respaldo.

#!/bin/bash
# Directorio donde se almacenarán los backups
backup_dir="/var/backups"
# Fecha actual
date=$(date +'%Y-%m-%d')
# Directorio de vhosts
vhosts_dir="/etc/apache2/sites-available"
# Crear directorio de backup si no existe
mkdir -p "$backup_dir/$date"
# Loop a través de cada vhost y realizar el backup
for vhost in $(ls "$vhosts_dir"); do
site_name=$(basename "$vhost" .conf)
tar -czf "$backup_dir/$date/$site_name.tar.gz" "/var/www/$site_name"
done

Paso 3: Programar el Script

Para que el script se ejecute automáticamente, puedes programarlo utilizando cron. Para editar el cron, ejecuta el siguiente comando:

$ crontab -e

Agrega la siguiente línea para que el script se ejecute diariamente a las 2 AM:

0 2 * * * /ruta/al/script/backup_script.sh

Conclusión:

Automatizar los backups de tus vhosts es una excelente manera de asegurar que tus datos estén protegidos sin necesidad de intervención manual. Este script proporciona una solución simple y efectiva para mantener copias de seguridad regulares de tus sitios web.