La Mejor Estrategia de Backup para Moodle en Ubuntu: ¡Automático y Seguro!

Automatización del Backup de Moodle en Ubuntu

Automatización del Backup de Moodle en Ubuntu

Configurar un respaldo automático de Moodle en un servidor Ubuntu garantiza la seguridad de los datos en caso de fallos o errores. Aquí te mostramos cómo hacerlo.

1️⃣ Crear el script de backup

Ejecuta el siguiente comando para crear el archivo del script:

sudo nano /usr/local/bin/backup_moodle.sh

Luego, agrega el siguiente contenido:

#!/bin/bash
# Directorios de Moodle
MOODLE_DIR="/var/www/html/moodle"
MOODLE_DATA="/var/www/moodledata"
BACKUP_DIR="/backup"
DB_NAME="moodle_db"
DB_USER="moodle_user"
DB_PASS="tu_contraseña"
DATE=$(date +"%Y%m%d_%H%M%S")

# Crear carpeta de backup si no existe
mkdir -p $BACKUP_DIR

# Backup de la base de datos
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/moodle_db_$DATE.sql

# Backup de archivos de Moodle
tar -czvf $BACKUP_DIR/moodle_files_$DATE.tar.gz $MOODLE_DIR $MOODLE_DATA

# Eliminar backups antiguos (opcional, más de 7 días)
find $BACKUP_DIR -type f -mtime +7 -exec rm {} \;

Guarda y cierra el archivo (Ctrl + X, luego Y y Enter).

2️⃣ Dar permisos de ejecución

Ejecuta el siguiente comando para hacer el script ejecutable:

sudo chmod +x /usr/local/bin/backup_moodle.sh

3️⃣ Programar el backup automático con Cron

Abre el crontab con:

sudo crontab -e

Agrega una de las siguientes líneas según la frecuencia deseada:

# Backup diario a las 2 AM
0 2 * * * /usr/local/bin/backup_moodle.sh

# Backup semanal (domingos a las 3 AM)
0 3 * * 0 /usr/local/bin/backup_moodle.sh

📌 Explicación de los tiempos en Cron

El formato de los tiempos en cron sigue esta estructura:

* * * * * comando_a_ejecutar
│ │ │ │ │
│ │ │ │ └── Día de la semana (0-7, donde 0 y 7 = domingo)
│ │ │ └──── Mes (1-12)
│ │ └────── Día del mes (1-31)
│ └──────── Hora (0-23)
└────────── Minuto (0-59)

Ejemplos:

  • 0 2 * * * → Todos los días a las 2 AM
  • 0 3 * * 0 → Todos los domingos a las 3 AM
  • 30 14 * * 1-5 → De lunes a viernes a las 14:30
  • 0 */6 * * * → Cada 6 horas

4️⃣ Guardar el backup en un servidor Windows

Si deseas almacenar los backups en un servidor Windows, primero debes montar la carpeta compartida. Agrega esta línea al script:

mount -t cifs -o username=Administrador,password=TuContraseña //192.168.18.90/Backup /mnt/backup

Luego, modifica el directorio de backup en el script:

BACKUP_DIR="/mnt/backup"

5️⃣ Verificar que el backup funciona

Para probar manualmente el backup, ejecuta:

sudo /usr/local/bin/backup_moodle.sh

Para verificar que se está ejecutando automáticamente, usa:

cat /var/log/syslog | grep backup_moodle.sh

6️⃣ Restaurar un backup

Para restaurar la base de datos:

mysql -u $DB_USER -p$DB_PASS $DB_NAME < /backup/moodle_db_fecha.sql

Para restaurar los archivos de Moodle:

tar -xzvf /backup/moodle_files_fecha.tar.gz -C /

📌 Conclusión

Siguiendo estos pasos, Moodle se respaldará automáticamente en Ubuntu, asegurando la integridad de los datos y permitiendo almacenarlos en otro servidor de manera segura.

Publicar un comentario

0 Comentarios
* Please Don't Spam Here. All the Comments are Reviewed by Admin.