Cómo hacer el respaldo de moodle y todos los cursos

Empezaré por escribir que no soy un experto en moodle ni tampoco doy asesorías sobre su uso; lo cierto es que, como muchos; he tenido que ir aprendiendo paso a paso algunas cosas sobre la marcha, mientras se va utilizando esta magnífica plataforma educativa. Lo último con lo que me he tenido que enfrentar es con la realización de respaldos periódicos.

En este mini-micro tutorial, probablemente no logre escribir la octava maravilla, pero al menos espero que el compartir la forma en que yo he resuelto el asunto de los respaldos de moodle, le sirva a alguien más y lo ponga en práctica, o bien; que mejore la idea y la comparta con todos los lectores.

Considero que hay dos maneras de realizar respaldos, veamos la primera:

1.- Dentro de Moodle, en su interfaz gráfica se incluyen las herramientas para hacer respaldos de cada curso, de los alumnos inscritos, calificaciones, tareas, etc:

En el bloque administracion (dentro de tu curso) existe un botón llamado copia de seguridad que te permite crear un respaldo del curso con las opciones que tú elijas.

Este respaldo es un paquete zip que deberás restaurar cuando sea necesario, mediante la opción restaurar  en el bloque de administración del sitio.

El mayor dilema de este método es que se tiene que hacer, curso por curso y eso no es muy grato cuando tienes tantos cursos en la plataforma educativa o cuando quieres que cada determinado tiempo se hagan los respaldos de forma automática.

2.- La otra forma, es a través de un script que ejecuta algunas instrucciones directamente en el servidor; además este script se puede agregar al programador de tareas cron, para que se ejecute periodicamente.

Escencialmente lo que se tiene que respaldar es:

  • La base de datos de Moodle
  • La instalación de Moodle
  • Los archivos y recursos de todos los cursos, usuarios, etc.

He creado este script para hacer esas tres tareas consecutivamente; si te interesa usarlo, unicamente tienes que adaptarlo a tus variables de entorno:

#!/bin/bash
#Comprobamos que el usuario es root (super usuario) quien ejecuta este escript.
if [ $UID != 0 ]; then
 echo "No tienes los privilegios necesarios para ejecutar este script."
 echo "Debes ingresar como root, escribe \"su root\" sin las comillas."
 exit 1
fi

#Fecha actual
FECHA=$(date +%F);

#Hora actual
HORA=$(date +%H-%M-%S);

#Nombre del host en donde se ejecuta mysql (si hay dudas, ver moodle/config.php)
DBHOST=localhost

#Nombre de la base de datos  
DBNAME=moodledatabase

#Nombre del usuario que accede a la base de datos en mysql
DBUSER=moodleuser

#Clave de acceso a la base de datos en mysql
#Por defecto, se solicita cada vez que se ejecuta el script
#Pero se puede definir aqui
DBPASSWORD=""

#Directorio con la instalacion de moodle
MOODLE_DIR=/server/www/htdocs/moodle

#Directorio en donde se guardan los archivos de los cursos, las tareas, etc.
MOODLEDATA_DIR=/server/www/moodledata

#Directorio donde se guardaran los respaldos
BACKUP_DIR=/backups/moodle

#Respaldar la base de datos
if [ "$DBPASSWORD" = "" ]; then
 echo -n "Clave de acceso a la base de datos '$DBNAME' en mysql?: "
 read DBPASSWORD
fi
mysqldump -u $DBUSER -p$DBPASSWORD $DBNAME > $BACKUP_DIR/$DBNAME-$FECHA--$HORA.sql

#Comprimir el archivo de respaldo de la base de datos
echo "Desea comprimir el archivo de respaldo de la base de datos [Y/n]?"
echo -n " Valor por defecto [Y]: "
read COMPRESSDBFILE
if [ "$COMPRESSDBFILE" = "n" ]; then
 sleep 0
else
 bzip2 $BACKUP_DIR/$DBNAME-$FECHA--$HORA.sql
fi

#Hacer el archivo.tar.gz con el respaldo de moodle
tar czPf $BACKUP_DIR/moodle-$FECHA--$HORA.tar.gz $MOODLE_DIR

#Hacer el archivo.tar.gz con los archivos de los cursos, tareas, usuarios, etc
tar czPf $BACKUP_DIR/moodledata-$FECHA--$HORA.tar.gz $MOODLEDATA_DIR

##################################### FIN DEL SCRIPT ##################################

Puedes copiar y pegar el código de arriba y guardarlo en un archivo con extensión .sh o bien, bajar el script de este enlace; después sólo tienes que subirlo a tu servidor, editar las variables como son, el nombre de la base de datos, el nombre del usuario, la ubicacion a los directorios de moodle y el directorio donde se guarda el respaldo; para ejecutar el script tienes que cambiarle los permisos de ejecución; desde tu terminal escribe:

chmod +x backupMoodle.sh

y para ejecutarlo:

./backupMoodle.sh

Finalmente, espero que esa publicación sea de ayuda para más personas.

2 pensamientos en “Cómo hacer el respaldo de moodle y todos los cursos

  1. Gracias Javier. No conozco tanto de scripts y, buscando, he encontrado el tuyo. Graicas por compartirlo.
    Voy a probarlo (creo que seré capaz de adaptarlo a mi instalación :-) y te cuento.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s