Cómo hacer el respaldo de moodle y todos los cursos
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.
#!/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.shy para ejecutarlo:
./backupMoodle.sh
o bien. algo mas fácil es hacer una imagen del disco duro con "Acronis"
Finalmente, espero que esa publicación sea de ayuda para más personas.
Comentarios
Publicar un comentario