Copia de seguridad completa de un Moodle™

CITELCO SISTEMAS DE FORMACIÓN > Blog > Generalidades sobre Moodle > Copia de seguridad completa de un Moodle™

Copia de seguridad completa de un Moodle™

Una copia de seguridad del sitio web Moodle™ permite al administrador del mismo guardar todo lo relacionado al sitio Moodle. Estas copias pueden ser restauradas para devolver el sitio al punto en que estaba cuando la copia fue hecha, o para trasladar el Moodle completo a otro servidor™.

Realizar copias de seguridad completas de forma periódica es altamente recomendable para reducir la información perdida en caso de un problema en el sitio y para acelerar el proceso de recuperación general.

Ya sabes que puedes hacer copias de seguridad de cursos, de modo manual o automatizado, y restaurar esos cursos (con todos sus contenidos e incluso todos sus usuarios -estudiantes y profesores-) en el mismo Moodle o en otro, pero también es conveniente hacer copias de seguridad completas de la plataforma Moodle™, que te permita recuperarla en caso de fallo catastrófico, o para instalar tu Moodle™ en otro servidor.

¿De que es necesario hacer una copia de seguridad?

Un sistema con Moodle™ se compone de tres partes:

  1. Los datos almacenados en la base de datos (Por ejemplo, una base de datos MySQL)
  2. Los archivos cargados (Por ejemplo, los archivos de sitio y curso subidos por Moodle™ en moodledata)
  3. El código de Moodle™, su «ejecutable» por así decirlo (Por ejemplo, todo en server/htdocs/moodle)
  4. Se puede confirmar donde están localizadas todas estas cosas en una instalación de Moodle™ comprobando el archivo de configuración config.php.
  • $CFG->dbname muestra el nombre de la base de datos
  • $CFG->prefix muestra el nombre del prefijo de la tabla de la base de datos
  • $CFG->dataroot controla donde se almacenan los archivos cargados (archivos subidos, por ejemplo, imágenes y ficheros PDF utilizados en cursos)
  • $CFG->wwwroot apunta a donde el código (el ejecutable) es almacenado.

Consejo

  • En términos generales, la base de datos («dbname y prefijo»)y los archivos cargados (dataroot) son los más importantes a copiar de forma regular. Estos contienen la información que cambiará más a menudo.

El código Moodle™ (wwwroot) es menos importante como copia de seguridad frecuente, ya que solo cambiará cuando el código real cambie con las actualizaciones, extensiones y plugins instalados. Se puede obtener siempre una copia del código estándar de Moodle™ desde https://download.moodle.org así que solo es necesario copiar las partes que hemos añadido o cambiado nosotros mismos.

Creando una copia de seguridad de su sitio Moodle

Base de datos
La forma correcta de hacer una copia de seguridad de la base de datos depende del sistema de base de datos que se esté usando. Las instrucciones siguientes son una manera de hacer una copia de una base de datos MySQL. Otra opción sería utilizar una herramienta como phpMyAdmin para hacer una copia manualmente. La documentación para tu base de datos tendrá más opciones.

Hay muchas formas de hacer estas copias de seguridad. He aquí un esbozo de un pequeño script que puede ejecutarse en Unix para hacer un backup de la base de datos (funciona bien tener un script así corriendo diariamente a través de una tarea de cron):

cd /my/backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump -h example.com -u myusername --password=mypassword -C -Q -e --create-options mydatabasename > moodle-database.sql
gzip moodle-database.sql

Codificación de caracteres
Asegúrate de que la copia de seguridad de la base de datos utiliza la codificación correcta. En la mayoría de bases de datos se usa UTF-8.

Cuando se vuelca toda la base de datos de Moodle, hay qye comprobar si hay posibles problemas de codificación de caracteres. En algunas instancias, copias de seguridad creadas con mysqldump o phpMyAdmin pueden no codificar de forma correcta todos los datos. Esto resultará en caracteres no legibles cuando se restaure la base de datos.

Consejo: Una solución es usar MySQL Administrator 1.1 o otro que fuerce un volcado de los datos en UTF-8.
Herramientas para las copias de seguridad de la base de datos

phpMyAdmin
phpMyAdmin es muy sencilla y seguramente esté disponible desde el panel de control de tu hosting web.

MySQLDumper
: MySQLDumper es un script de copia de seguridad para bases de datos MySQL, escrito en PHP y Perl. MySQLDumper utiliza una técnica propia para evitar la interrupción de la ejecución al ejecutar scripts PHP (el tiempo máximo de ejecución suele estar puesto en 30 segundos en la mayoría de hostings web). MySQLDumper además se ocupa de los problemas de codificación antes mencionados. También trabaja con archivos comprimidos y permite configurar trabajos regulares de actualización cron y actualizar un sitio remoto FTP.

AutoMySQLBackup
AutoMySQLBackup es un script para copia de seguridad para bases de datos MySQL, escrito en PHP. AutoMySQLBackup creará respaldos Diarios, Semanales y Mensuales de una o más de sus bases de datos MySQL de uno o más de sus servidores MySQL. Las características incluyen notificación por email, compresión y encriptación, rotación configurable del respaldo, respaldos incrementales de base de datos y más.

Archivos subidos (moodledata)

A través del interfaz de Moodle, los creadores de cursos, profesores y otros tipos de usuarios pueden cargar o crear archivos y carpetas. Estos están localizados en un directorio, a menudo llamado “moodledata” (es su nombre por defecto, pero cómo sabes puedes darle el nombre que quieras). Dado que éstos son sólo archivos y carpetas, hay muchas maneras diferentes de hacer un backup o copiar moodledata.

Por ejemplo, utilizando un programa de transferencia de archivos, puedes copiar todo el directorio moodledata en un sitio diferente, disco u ordenador. Ejemplos de programas de transferencia de archivos incluyen: FTP, WinSP, wget, rsync.
Puedes utilizar un programa de compresión para crear archivos compactos (tar, zip, 7z, XZ, BZIP2, GZIP, y WIM son algunos formatos) de todo el directorio. Esto puede hacerse antes o después de la transferencia de archivos.

Consejos
Por lo general no todos los archivos en moodledata cambian entre copias de seguridad periódicas/regulares. Como este directorio, en Moodle con cursos extensos o con muchos cursos, suele ser grande, puede ser buena idea realizar copias incrementales u otro tipo de copias eficientes .
Dependiendo del entorno operativo hay muchas herramientas para realizar copias de seguridad de archivos del servidor y muchas maneras de copiar moodledata, usando herramientas como usar rsync, FTP o Wget.

Código de Moodle

Hacer una copia de seguridad del código de Moodle será similar a copiar moodledata.

Consejo
Es siempre una buena idea tener varias copias de los archivos del código de Moodle. Es verdad que siempre se puede descargar una nueva copia del código base de Moodle desde http://download.moodle.org, pero puede que se haya personalizado o cambiado ese código, o añadido extensiones como plugins o temas, y en este caso dichos cambios se perderían. Es una buena idea crear copias de seguridad separadas de tu código de Moodle siempre antes de personalizar el código. Esto incluye instalar extensiones que puedas instalar, Temas y actualizaciones.