19/Sitio backup

De MoodleDocs

Copias de seguridad del sitio tienen como objetivo poder disponer de todos los datos almacenados en un sitio web en un lugar externo seguro para su posterior recuperación en caso de emergencia.

¿Qué necesita ser copiado?

Moodle guarda sus datos en lugares:

  1. Los datos almacenados en la base de datos '
  2. Los archivos subidos, y otros los archivos de datos, almacenados en el disco normalmente en la carpeta moodledata
  3. Los archivos que contienen la el código de Moodle

Puede confirmar donde están todas estas cosas comprobando el archivo config.php. Hay varios parámetros que indican al Moodle donde se encuentran los archivos que necesita:

  1. $ CFG-> dataroot, controla donde los archivos son almacenados; y
  2. $ CFG-> dirroot indica donde está el código.

Crear una copia de seguridad de su sitio Moodle

Base de datos

Existen dos elementos de los que necesita hacer una copia: la base de datos y los ficheros subidos al servidor. Los scripts de Moodle en sí son menos importantes, ya que siempre podrá bajarse una copia reciente si lo necesitase. Hay muchas formas de llevar a cabo esas copias de seguridad. He aquí unos apuntes de un pequeño script que puede ejecutarse en Unix para hacer una copia de la base de datos (es buena idea ejecutar dicho script a diario mediante un cron programado):


cd /my/ backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump-h example.com -u nombredeusuario –password=micontraseña -C -Q -e –create-options nombredemibasededatos > moodle-database.sql
gzip moodle-database.sql


Codificación de caracteres

Cuando realicen copias de la base de datos completa de un sitio Moodle, los administradores deben tener cuidado y vigilar que no se produzcan problemas con la codificación de caracteres. En algunos casos, las copias de seguridad creadas con mysqldump o con phpmyadmin puede que no codifiquen adecuadamente todos los datos, dando como resultado la inclusión de caracteres A bastardos. Una solución es usar mySQL Administrator 1.1 u otra herramienta que fuerce una codificación de los datos UTF-8.

Cuando todo el dumping de base de datos de Moodle, los administradores deben tener cuidado para ver la posibilidad de codificación de caracteres cuestiones. En algunos casos, las copias de seguridad creadas con mysqldump o phpMyAdmin no puede codificar correctamente la totalidad de los datos resultantes en un espurio caracteres. Una solución es usar el MySQL Administrator 1.1 o otra herramienta que una fuerza UTF-8 de volcado de los datos.

Herramientas para copias de seguridad de bases de datos

  • phpMyAdmin es la herramienta de elección con la mayoría de los proveedores de alojamiento web.
  • MySQLDumper es un script de copia de seguridad de bases de datos MySQL, escrita en PHP y Perl. MySQLDumper utiliza una técnica patentada para evitar la interrupción de la ejecución cuando se ejecuta scripts PHP (el máx. Tiempo de ejecución suele ser de 30 segundos). MySQLDumper también cuida de los problemas de codificación antes mencionados. También trabaja con archivos comprimidos.

Los archivos de datos

En cuanto a los ficheros, puede usar rsync de forma regular para copiar a otro servidor únicamente los archivos que hayan sufrido cambios:

rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory

Si desea ejecutar la cronscript en la máquina que está ejecutando Moodle en lo que tiene que utilizar la sintaxis siguiente rsync

rsync -auvtz --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/

Si no desea que el mailbox del administrador se llene de mensajes de status del rsync:

 rsync -autzq --delete -e ssh /path/to/local/folder/ remoteuser@remoteserver:/path/to/remote/folder/

Si su proveedor de alojamiento de Moodle no permite ssh (o simplemente no lo proporcionan) y tiene fácil acceso ftp con un nombre de usuario y una contraseña también se puede usar:

mkdir /tmp/remote-folder
curlftpfs ftp://username:password@ftp.your-site.com /tmp/remote-folder
rsync -auvtz --delete /tmp/remote-folder /my/local/backup/folder/
umount /tmp/remote-folder
rmdir /tmp/remote-folder

Una copia de seguridad completa se puede lograr (probado con CPanel) usando el siguiente comando:

wget --http-user=username --http-password=password http://your-site.com:2082/getsqlbackup/moodle.sql.gz

y la copia total de los directorios que almacenan el código de Moodle:

wget --http-user=username --http-password=password http://your-site.com:2082/getbackup/backup-your-site.com-`date +"%-m-%d-%Y"`.tar.gz

Algunos parámetros deben adaptarse a entornos con otro tipo de interfaz (¿webmin?)

Archivos de Código

Si no has personalizado el código, siempre puede descargar una copia nueva. Sin embargo, todavía es una buena idea para mantener su propia copia de todo el código junto con la copia de seguridad de las otras partes del Moodle, y si usted tiene personalizado diferentes aspectos de su plataforma, esta copia será esencial, es esencial. Los pasos son los mismos que para hacer copias de seguridad de los archivos de datos.

Restaurar una copia de seguridad de un sitio

Si ha seguido las instrucciones anteriores y ha creado una copia de seguridad de un sitio Moodle, usted puede necesitar saber cómo restaurar el sitio de copia de seguridad que ha creado. Aquí hay una serie de pasos básicos que componen el proceso de restauración.

1. Cambie el nombre del directorio original de Moodle a otro diferente (así lo conservará con otro nombre) y copie la copia de seguridad de Moodle en su lugar.

2. Si se ejecutará MySQL, una copia de seguridad de la base de datos debe ser una .sql, .gz o un archivo .tar.gz. Si lo es .tar.gz o .gz es necesario extraerlo hasta que sea un archivo .sql.

tar -xzvf moodlesqlfile.tar.gz

3. Si está ejecutando mysql, importar el archivo SQL en una nueva base de datos en el servidor MySQL. Tenga cuidado aquí, algunos tratan de copias de seguridad de importación de regreso en la misma base de datos que está conectada a Moodle. Esto causa problemas que pueden dañar la instalación de Moodle. Lo mejor es hacer una nueva base de datos, restaurar la copia de seguridad de base de datos en ella, y cambiar el Moodle archivo config.php para conectarse a esta nueva base de datos (de esta manera usted todavía tiene la base de datos original).

Una vez que haya creado la nueva base de datos:

mysql -p new_database < moodlesqlfile.sql

Véase también