Copia de seguridad
Una de las cosas que necesitar cuando ocurre una catástrofe, son las copias de seguridad, aquellas que si no las tienes las echas en falta y si las tienes y no las necesitan te ocupan espacio.
Es importantisimo realizar copia de seguridad, de las bases de datos y de los archivos de la web.
Dependiendo del la actualización y el uso de los datos de la web, implementaremos una copia diaria, semanal o mensual.
Sumario
Copia de Archivos
Todos los archivos que configuran la web están en el directorio /var/www asi que simplemente con comprimir y copiar dicho directorio tendremos un respaldo TOTAL.
Comprimir y copiar www
Realizaremos la copia en otro disco duro que estará montado en /media/copia
tar -czf /media/copia/copia-www.`date +%Y-%m-%d`.tar.gz /var/www
Copia de las Bases de Datos
Ahora toca realizar una copia total de todas las bases de datos que tenemos en el MySQL, para realizar esta operación utilizaremos la orden mysqldump con la variable --all-databases pero necesitamos los siguientes datos:
- Nombre de usuario: alumno
- Contraseña usuario: alumno
- Destino de la copia: /media/copia
Abrimos un terminal y escribimos:
mysqldump -uroot -palumno --all-databases > /media/copia/copiamysql.`date +%Y-%m-%d`.sql
Podemos comprobar que se generara un archivo copiamysql.Año-Mes-Dia.sql
Script copia.sh
Ya hemos realizado una copia total de los archivos web y una copia de todas las bases de datos, manualmente, lo interesante seria automatizar esta tarea, para ello realizaremos un pequeño script, abrimos un terminal y escribimos:
nano /home/usuario/copia.sh
Nota: Sustituir usuario por el nombre de vuestro usuario
#!/bin/sh tar -czf /media/copia/copia-www.`date +%Y-%m-%d`.tar.gz /var/www mysqldump -uroot -palumno --all-databases > /media/copia/copiamysql.`date +%Y-%m-%d`.sql
Ahora tenemos que asignar permisos de ejecución al script realizado, abrimos un terminal y escribimos:
sudo chmod +x copia.sh
Ejecutar Script
Para comprobar que todo esta bien podemos ejecutamos el script.
./copia.sh
Automatizar Copia
Para automatizar la copia de seguridad y se realice, el día y la hora que nosotros queremos, modificaremos el Cron
crontab -e
Queremos que la copia se realice todos los días a las 13:00 por lo tanto tendremos que añadir la siguiente linea al final del archivos crontab.
0 13 * * * /home/alumno/copia.sh
Reiniciamos cron
sudo /etc/init.d/cron restart